Submission #1323851

#TimeUsernameProblemLanguageResultExecution timeMemory
1323851jmuzhenHomework (CEOI22_homework)Pypy 3
0 / 100
382 ms171540 KiB
s = input()

# find indexes of occurrences of min and max respectively in O(n)
idx_min = []
idx_max = []
for i in range(len(s)):
    if s.startswith("min", i):
        idx_min.append(i)
    elif s.startswith("max", i):
        idx_max.append(i)
mn = len(idx_min)
mx = len(idx_max)
n = s.count("?")

# now merge
merged = []
for i in idx_min:
    merged.append((i, 'min'))
for i in idx_max:
    merged.append((i, 'max'))
merged.sort()

bal = 0
lb = 1
ub = n

for (_, t) in merged:
    if t == 'min':
        bal -= 1
        if bal == -1:
            ub -= 1
    else:
        bal += 1
        if bal == 1:
            lb += 1

ans = max(0, ub - lb + 1)
print(ans)

Compilation message (stdout)

Compiling 'Main.py'...

=======
  adding: __main__.pyc (deflated 31%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...