codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
# a is a list, e.g. [2,5,1,2,3,4,7,7,6] def f(a): water = 0 i = 0 while i < len(a)-1: try: tootall = True for k in range(i+1,len(a)): if a[k] >= a[i]: tootall = False if tootall == False: try: if a[i] > a[i+1]: x = 0 j = 0 while j < a[i]: x += 1 j = a[i+x] dwater = (x-1)*a[i] for k in range(i+1,i+x): dwater -= a[k] water += dwater i += (x-1) except: life = 42 elif tootall == True: tallest = 0 for b in range(i+1,len(a)): if a[b] > tallest: tallest = a[b] length = b-i-1 dwater = length*tallest for c in range(i+1, length+i+1): dwater -= a[c] water += dwater i += length except: life = 42 i += 1 return (water)
Private
[
?
]
Run code
Submit