247372026-02-14 22:03:50algoproFagyasztópypy3Részben helyes 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)
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Részben helyes45ms19680 KiB
subtask25/10
2Részben helyes39ms19696 KiB
3Részben helyes43ms19480 KiB
4Részben helyes45ms19652 KiB
5Részben helyes39ms19624 KiB
6Részben helyes43ms19536 KiB
7Részben helyes39ms19676 KiB
8Részben helyes37ms19476 KiB
9Részben helyes43ms19680 KiB
10Részben helyes39ms19680 KiB
11Részben helyes43ms19696 KiB
subtask310/20
12Részben helyes43ms19636 KiB
13Részben helyes39ms19796 KiB
14Részben helyes39ms19856 KiB
15Részben helyes46ms19668 KiB
16Részben helyes41ms19668 KiB
17Részben helyes48ms21192 KiB
18Részben helyes50ms21052 KiB
19Részben helyes39ms19820 KiB
20Részben helyes52ms21168 KiB
21Részben helyes48ms21408 KiB
22Részben helyes43ms21044 KiB
23Részben helyes57ms21440 KiB
24Részben helyes52ms21452 KiB
25Részben helyes54ms21552 KiB
26Részben helyes50ms21120 KiB
27Részben helyes54ms21736 KiB
28Részben helyes61ms21724 KiB
29Részben helyes43ms21216 KiB
30Részben helyes57ms21604 KiB
31Részben helyes52ms21528 KiB
subtask47.5/15
32Részben helyes39ms19872 KiB
33Részben helyes39ms19876 KiB
34Részben helyes43ms19468 KiB
35Részben helyes48ms21136 KiB
36Részben helyes48ms21468 KiB
37Részben helyes48ms21324 KiB
38Részben helyes45ms19752 KiB
39Részben helyes45ms19680 KiB
40Részben helyes48ms21052 KiB
41Részben helyes50ms21476 KiB
42Részben helyes57ms21420 KiB
43Részben helyes52ms21768 KiB
44Részben helyes45ms19668 KiB
45Részben helyes54ms21456 KiB
46Részben helyes57ms21760 KiB
subtask57.5/15
47Részben helyes48ms21212 KiB
48Részben helyes48ms21216 KiB
49Részben helyes43ms21176 KiB
50Részben helyes39ms19928 KiB
51Részben helyes48ms21208 KiB
52Részben helyes39ms19800 KiB
53Részben helyes43ms21272 KiB
54Részben helyes48ms21192 KiB
55Részben helyes41ms19712 KiB
56Részben helyes48ms21528 KiB
57Részben helyes43ms19872 KiB
58Részben helyes43ms19748 KiB
59Részben helyes46ms21432 KiB
60Részben helyes48ms21264 KiB
61Részben helyes43ms19800 KiB
subtask67.5/15
62Részben helyes50ms21188 KiB
63Részben helyes46ms21396 KiB
64Részben helyes54ms21560 KiB
65Részben helyes65ms21684 KiB
66Részben helyes64ms21720 KiB
67Részben helyes43ms21040 KiB
68Részben helyes54ms21540 KiB
69Részben helyes43ms21168 KiB
70Részben helyes52ms21224 KiB
71Részben helyes54ms21724 KiB
72Részben helyes46ms21440 KiB
73Részben helyes57ms21532 KiB
74Részben helyes50ms21476 KiB
75Részben helyes48ms21436 KiB
76Részben helyes48ms21216 KiB