247322026-02-14 21:16:14algoproFagyasztópypy3Partially correct 17.5/7571ms22012 KiB
# UUID: 392bff61-bafa-4047-a1bb-60ccaf86f143
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(1,k+1):
        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
2Partially correct45ms19732 KiB
3Partially correct41ms19648 KiB
4Wrong answer45ms19520 KiB
5Partially correct39ms19588 KiB
6Partially correct48ms19596 KiB
7Partially correct46ms19640 KiB
8Partially correct39ms19576 KiB
9Partially correct39ms19712 KiB
10Partially correct41ms19716 KiB
11Partially correct45ms19680 KiB
subtask310/20
12Partially correct46ms19524 KiB
13Partially correct39ms19612 KiB
14Partially correct43ms19596 KiB
15Partially correct43ms19572 KiB
16Partially correct39ms19672 KiB
17Partially correct50ms21208 KiB
18Partially correct48ms21504 KiB
19Partially correct39ms19920 KiB
20Partially correct57ms21464 KiB
21Partially correct50ms21484 KiB
22Partially correct50ms21164 KiB
23Partially correct54ms21440 KiB
24Partially correct61ms21468 KiB
25Partially correct64ms21720 KiB
26Partially correct48ms21388 KiB
27Partially correct61ms21700 KiB
28Partially correct67ms21660 KiB
29Partially correct54ms21480 KiB
30Partially correct59ms21736 KiB
31Partially correct61ms22012 KiB
subtask47.5/15
32Partially correct43ms19692 KiB
33Partially correct39ms19648 KiB
34Partially correct39ms19564 KiB
35Partially correct48ms21164 KiB
36Partially correct57ms21548 KiB
37Partially correct57ms21448 KiB
38Partially correct43ms21044 KiB
39Partially correct39ms19932 KiB
40Partially correct45ms21216 KiB
41Partially correct59ms21428 KiB
42Partially correct59ms21468 KiB
43Partially correct57ms21876 KiB
44Partially correct46ms19840 KiB
45Partially correct50ms21564 KiB
46Partially correct65ms21976 KiB
subtask50/15
47Wrong answer48ms21204 KiB
48Wrong answer54ms21460 KiB
49Wrong answer48ms21320 KiB
50Partially correct43ms21276 KiB
51Partially correct57ms21504 KiB
52Wrong answer45ms19928 KiB
53Wrong answer43ms21068 KiB
54Partially correct54ms21484 KiB
55Partially correct46ms19860 KiB
56Partially correct57ms21548 KiB
57Wrong answer48ms21128 KiB
58Wrong answer43ms21140 KiB
59Partially correct57ms21472 KiB
60Partially correct46ms21104 KiB
61Partially correct39ms19704 KiB
subtask60/15
62Wrong answer52ms21216 KiB
63Wrong answer52ms21544 KiB
64Wrong answer59ms21628 KiB
65Partially correct59ms21644 KiB
66Partially correct71ms21828 KiB
67Wrong answer52ms21236 KiB
68Wrong answer52ms21372 KiB
69Partially correct48ms21464 KiB
70Wrong answer59ms21540 KiB
71Wrong answer68ms21676 KiB
72Partially correct48ms21432 KiB
73Wrong answer54ms21596 KiB
74Wrong answer65ms21848 KiB
75Wrong answer50ms21448 KiB
76Wrong answer43ms21264 KiB