247312026-02-14 21:15:03algoproFagyasztópypy3Partially correct 7.5/7571ms22096 KiB
# UUID: 7c22cd2b-5c5b-4c56-a407-d76eb3fbfa33
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, pr=False):
    i=j=0
    for day in range(k):
        while i < len(negy) and negy[i][0] < day:
            i += 1
        while j < len(ot) and ot[j][0] < day:
            j += 1
        if i < len(negy):
            if j < len(ot):
                if pr:
                    print(negy[i][1], ot[j][1])
                i += 1
                j += 1
            else:
                return False
        else:
            if j+1 < len(ot):
                if pr:
                    print(ot[j][1], ot[j+1][1])
                j+=2
            else:
                return False
    return True

lo = 0
hi = 2000
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 correct45ms19692 KiB
subtask20/10
2Wrong answer45ms19668 KiB
3Partially correct39ms19712 KiB
4Partially correct39ms19644 KiB
5Partially correct43ms19872 KiB
6Partially correct39ms19688 KiB
7Partially correct39ms19692 KiB
8Partially correct43ms19732 KiB
9Partially correct43ms19584 KiB
10Partially correct39ms19648 KiB
11Partially correct45ms19744 KiB
subtask30/20
12Partially correct46ms19688 KiB
13Partially correct39ms19640 KiB
14Partially correct39ms19632 KiB
15Partially correct43ms19684 KiB
16Partially correct39ms19680 KiB
17Wrong answer45ms21280 KiB
18Partially correct54ms21468 KiB
19Wrong answer46ms19936 KiB
20Wrong answer48ms21468 KiB
21Partially correct48ms21468 KiB
22Wrong answer48ms21168 KiB
23Partially correct63ms21516 KiB
24Partially correct54ms21448 KiB
25Wrong answer54ms21404 KiB
26Wrong answer54ms21432 KiB
27Wrong answer68ms21684 KiB
28Wrong answer59ms21724 KiB
29Partially correct54ms21480 KiB
30Wrong answer59ms21720 KiB
31Wrong answer68ms22096 KiB
subtask47.5/15
32Partially correct39ms19692 KiB
33Partially correct43ms19644 KiB
34Partially correct39ms19620 KiB
35Partially correct48ms21048 KiB
36Partially correct50ms21456 KiB
37Partially correct50ms21404 KiB
38Partially correct48ms21032 KiB
39Partially correct43ms19816 KiB
40Partially correct45ms21272 KiB
41Partially correct61ms21404 KiB
42Partially correct52ms21432 KiB
43Partially correct63ms21620 KiB
44Partially correct39ms19688 KiB
45Partially correct50ms21536 KiB
46Partially correct64ms21980 KiB
subtask50/15
47Wrong answer48ms21264 KiB
48Partially correct56ms21380 KiB
49Partially correct48ms21392 KiB
50Partially correct43ms21188 KiB
51Partially correct54ms21456 KiB
52Wrong answer39ms19936 KiB
53Partially correct43ms21196 KiB
54Partially correct57ms21468 KiB
55Partially correct45ms19732 KiB
56Partially correct50ms21468 KiB
57Wrong answer43ms21136 KiB
58Wrong answer48ms21212 KiB
59Partially correct57ms21556 KiB
60Wrong answer43ms21140 KiB
61Partially correct39ms19664 KiB
subtask60/15
62Wrong answer48ms21244 KiB
63Wrong answer61ms21680 KiB
64Wrong answer57ms21668 KiB
65Partially correct57ms21788 KiB
66Partially correct71ms21724 KiB
67Wrong answer43ms21216 KiB
68Wrong answer61ms21436 KiB
69Partially correct52ms21428 KiB
70Wrong answer57ms21468 KiB
71Wrong answer59ms21760 KiB
72Partially correct48ms21460 KiB
73Wrong answer61ms21548 KiB
74Wrong answer59ms21464 KiB
75Partially correct52ms21440 KiB
76Wrong answer48ms21244 KiB