247332026-02-14 21:18:57algoproFagyasztópypy3Partially correct 17.5/7570ms22060 KiB
# UUID: 6591267a-a075-474d-b369-428926e83c95
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
        elif j+1 < len(ot):
            if pr:
                print(ot[j][1], ot[j+1][1])
            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 correct39ms19692 KiB
subtask20/10
2Partially correct39ms19692 KiB
3Partially correct45ms19648 KiB
4Wrong answer45ms19568 KiB
5Partially correct39ms19680 KiB
6Partially correct39ms19692 KiB
7Partially correct46ms19728 KiB
8Partially correct45ms19668 KiB
9Partially correct39ms19656 KiB
10Partially correct43ms19504 KiB
11Partially correct39ms19728 KiB
subtask310/20
12Partially correct45ms19544 KiB
13Partially correct45ms19672 KiB
14Partially correct45ms19756 KiB
15Partially correct41ms19676 KiB
16Partially correct41ms19688 KiB
17Partially correct50ms21100 KiB
18Partially correct54ms21560 KiB
19Partially correct41ms19892 KiB
20Partially correct50ms21528 KiB
21Partially correct50ms21432 KiB
22Partially correct50ms21264 KiB
23Partially correct61ms21532 KiB
24Partially correct54ms21476 KiB
25Partially correct64ms21832 KiB
26Partially correct54ms21404 KiB
27Partially correct63ms21728 KiB
28Partially correct65ms21724 KiB
29Partially correct52ms21456 KiB
30Partially correct57ms21624 KiB
31Partially correct61ms21816 KiB
subtask47.5/15
32Partially correct39ms19688 KiB
33Partially correct43ms19680 KiB
34Partially correct39ms19736 KiB
35Partially correct48ms21220 KiB
36Partially correct57ms21504 KiB
37Partially correct57ms21364 KiB
38Partially correct43ms21096 KiB
39Partially correct39ms19904 KiB
40Partially correct50ms21108 KiB
41Partially correct52ms21452 KiB
42Partially correct57ms21440 KiB
43Partially correct56ms21736 KiB
44Partially correct45ms19744 KiB
45Partially correct50ms21592 KiB
46Partially correct67ms22060 KiB
subtask50/15
47Wrong answer48ms21040 KiB
48Wrong answer50ms21380 KiB
49Wrong answer50ms21484 KiB
50Partially correct48ms21144 KiB
51Partially correct48ms21452 KiB
52Wrong answer41ms19912 KiB
53Wrong answer48ms21232 KiB
54Partially correct54ms21392 KiB
55Partially correct39ms19692 KiB
56Partially correct50ms21468 KiB
57Wrong answer48ms21112 KiB
58Wrong answer48ms21064 KiB
59Partially correct57ms21532 KiB
60Partially correct48ms21040 KiB
61Partially correct39ms19764 KiB
subtask60/15
62Wrong answer50ms21124 KiB
63Wrong answer52ms21408 KiB
64Wrong answer59ms21668 KiB
65Partially correct64ms21660 KiB
66Partially correct70ms21716 KiB
67Wrong answer45ms21216 KiB
68Wrong answer59ms21468 KiB
69Partially correct48ms21468 KiB
70Wrong answer52ms21468 KiB
71Wrong answer57ms21904 KiB
72Partially correct48ms21468 KiB
73Wrong answer61ms21540 KiB
74Wrong answer54ms21720 KiB
75Wrong answer57ms21548 KiB
76Wrong answer48ms21220 KiB