36 lines
649 B
Python
Executable File
36 lines
649 B
Python
Executable File
#!/usr/bin/env python3
|
|
from useful import *
|
|
|
|
m = defaultdict(lambda: 0)
|
|
|
|
def dirs(d):
|
|
return [d[1:l+1] for l in range(len(d))]
|
|
|
|
def dirstr(d):
|
|
return '/'.join(d)
|
|
|
|
def plus(d, n):
|
|
for x in dirs(d):
|
|
m[dirstr(x)] += n
|
|
|
|
def cd(d):
|
|
global cur
|
|
if d == '/':
|
|
cur = [d,]
|
|
elif d == '..':
|
|
cur = cur[:-1]
|
|
else:
|
|
cur += [d,]
|
|
|
|
cur = []
|
|
ls = lines(open(0))
|
|
for l in ls:
|
|
if re.match(r'\$ cd', l):
|
|
cd(l.split()[-1])
|
|
else:
|
|
for n in numbers(l):
|
|
plus(cur, n)
|
|
|
|
print(sum(x for x in m.values() if x <= 100000))
|
|
print(sorted(v for v in m.values() if v >= m[''] - 40000000)[0])
|