247372026-02-14 22:03:50algoproFagyasztópypy3Partially correct 37.5/7565ms21768 KiB
# UUID: a1d9579f-2ff8-475e-9e2d-c1c7a8c9fb1f
from sys import stdin, setrecursionlimit
input = stdin.readline
setrecursionlimit(10**6)

N = int(input())
negy=[]
ot=[]
for i in range(1,N+1):
    S, M = map(int,input().split())
    if M==4: 
        negy.append((S,i))
    elif M>4:
        ot.append((S,i))

negy.sort()
ot.sort()

def test(k):
    i=len(negy)-1
    j=len(ot)-1
    for day in range(k,0,-1):
        if 0 <= i and negy[i][0] >= day:
            if 0 <= j and ot[j][0] >= day:
                i -= 1
                j -= 1
            else:
                return False
        elif 1 <= j and ot[j-1][0] >= day:
            j -= 2
        else:
            return False
    return True

lo = 0
hi = 2001
while hi-lo > 1:
    mid = (hi+lo)//2
    if test(mid):
        lo = mid
    else:
        hi = mid
print(lo)
#test(lo,True)
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Partially correct45ms19680 KiB
subtask25/10
2Partially correct39ms19696 KiB
3Partially correct43ms19480 KiB
4Partially correct45ms19652 KiB
5Partially correct39ms19624 KiB
6Partially correct43ms19536 KiB
7Partially correct39ms19676 KiB
8Partially correct37ms19476 KiB
9Partially correct43ms19680 KiB
10Partially correct39ms19680 KiB
11Partially correct43ms19696 KiB
subtask310/20
12Partially correct43ms19636 KiB
13Partially correct39ms19796 KiB
14Partially correct39ms19856 KiB
15Partially correct46ms19668 KiB
16Partially correct41ms19668 KiB
17Partially correct48ms21192 KiB
18Partially correct50ms21052 KiB
19Partially correct39ms19820 KiB
20Partially correct52ms21168 KiB
21Partially correct48ms21408 KiB
22Partially correct43ms21044 KiB
23Partially correct57ms21440 KiB
24Partially correct52ms21452 KiB
25Partially correct54ms21552 KiB
26Partially correct50ms21120 KiB
27Partially correct54ms21736 KiB
28Partially correct61ms21724 KiB
29Partially correct43ms21216 KiB
30Partially correct57ms21604 KiB
31Partially correct52ms21528 KiB
subtask47.5/15
32Partially correct39ms19872 KiB
33Partially correct39ms19876 KiB
34Partially correct43ms19468 KiB
35Partially correct48ms21136 KiB
36Partially correct48ms21468 KiB
37Partially correct48ms21324 KiB
38Partially correct45ms19752 KiB
39Partially correct45ms19680 KiB
40Partially correct48ms21052 KiB
41Partially correct50ms21476 KiB
42Partially correct57ms21420 KiB
43Partially correct52ms21768 KiB
44Partially correct45ms19668 KiB
45Partially correct54ms21456 KiB
46Partially correct57ms21760 KiB
subtask57.5/15
47Partially correct48ms21212 KiB
48Partially correct48ms21216 KiB
49Partially correct43ms21176 KiB
50Partially correct39ms19928 KiB
51Partially correct48ms21208 KiB
52Partially correct39ms19800 KiB
53Partially correct43ms21272 KiB
54Partially correct48ms21192 KiB
55Partially correct41ms19712 KiB
56Partially correct48ms21528 KiB
57Partially correct43ms19872 KiB
58Partially correct43ms19748 KiB
59Partially correct46ms21432 KiB
60Partially correct48ms21264 KiB
61Partially correct43ms19800 KiB
subtask67.5/15
62Partially correct50ms21188 KiB
63Partially correct46ms21396 KiB
64Partially correct54ms21560 KiB
65Partially correct65ms21684 KiB
66Partially correct64ms21720 KiB
67Partially correct43ms21040 KiB
68Partially correct54ms21540 KiB
69Partially correct43ms21168 KiB
70Partially correct52ms21224 KiB
71Partially correct54ms21724 KiB
72Partially correct46ms21440 KiB
73Partially correct57ms21532 KiB
74Partially correct50ms21476 KiB
75Partially correct48ms21436 KiB
76Partially correct48ms21216 KiB