Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. MAX = 101
  2. INF = 1000000000
  3.  
  4. prev = [-INF] * MAX
  5. next = [-INF] * MAX
  6. next[0] = 0
  7. t = price = 0
  8.  
  9. with open("in.csv") as f:
  10.     for line in f:
  11.         splitted = line.split(',')        
  12.        
  13.         try:
  14.             t = int(splitted[0])
  15.             price = int(splitted[1])
  16.         except:
  17.             continue
  18.         if t == 100:
  19.             break
  20.        
  21.         for i in xrange(MAX):
  22.             prev[i] = next[i]
  23.        
  24.        
  25.        
  26.         for i in xrange(MAX):
  27.             if prev[i] == -INF:
  28.                 continue
  29.             if i < MAX - 1:
  30.                 next[i + 1] = max(next[i + 1], prev[i] - price)
  31.             if i > 0:
  32.                 next[i - 1] = max(next[i - 1], prev[i] + price)
  33.        
  34. result = -INF
  35. for i in xrange(MAX):
  36.     next[i] += i * price
  37.     result = max(next[i], result)
  38. print result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement