This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
n,k = map(int, input().split())
s = input()
def test1(a):
J=0;O=0;I=0
for p in range(a,n):
i = s[p]
if J==k and O==k and i=="I":
I+=1
elif J==k and i=="O":
O+=1
elif i=="J":
J+=1
return I>=k,I
lo=-1;hi=n
while lo<hi:
mid = (lo+hi+1)//2
if test1(mid)[0]:
lo = mid
else:
hi = mid-1
if lo==-1:
print(-1)
else:
p = "".join(reversed(list(s)))
cnt = 0
ans = 0
for i in p:
if i=="I":
cnt += 1
if cnt > test1(lo)[1]-k:
break
ans += 1
print(n-ans-lo-k*3)
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |