247442026-02-14 22:13:45algoproFagyasztópypy3Elfogadva 75/7576ms22328 KiB
# UUID: 71b8761b-e1db-448f-9a74-45da67cdd91f
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):
    ans = []
    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:
                ans.append((negy[i][1],ot[j][1]))
                i -= 1
                j -= 1
            else:
                return False, []
        elif 1 <= j and ot[j-1][0] >= day:
            ans.append((ot[j][1],ot[j-1][1]))
            j -= 2
        else:
            return False, []
    return True, ans

lo = 0
hi = 2001
res = []
while hi-lo > 1:
    mid = (hi+lo)//2
    ok, ans = test(mid)
    if ok:
        lo = mid
        res = ans
    else:
        hi = mid
print(lo)
res.reverse()
for line in res:
    print(*line)
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva43ms19688 KiB
subtask210/10
2Elfogadva39ms19888 KiB
3Elfogadva43ms19636 KiB
4Elfogadva43ms19636 KiB
5Elfogadva39ms19896 KiB
6Elfogadva45ms19736 KiB
7Elfogadva39ms19688 KiB
8Elfogadva43ms19620 KiB
9Elfogadva39ms19708 KiB
10Elfogadva45ms19692 KiB
11Elfogadva39ms19528 KiB
subtask320/20
12Elfogadva39ms19660 KiB
13Elfogadva45ms19620 KiB
14Elfogadva43ms19688 KiB
15Elfogadva43ms19576 KiB
16Elfogadva39ms19584 KiB
17Elfogadva43ms21216 KiB
18Elfogadva50ms21216 KiB
19Elfogadva43ms20012 KiB
20Elfogadva50ms21072 KiB
21Elfogadva57ms21536 KiB
22Elfogadva43ms21212 KiB
23Elfogadva57ms21712 KiB
24Elfogadva57ms21708 KiB
25Elfogadva59ms21460 KiB
26Elfogadva48ms21120 KiB
27Elfogadva59ms21740 KiB
28Elfogadva71ms21652 KiB
29Elfogadva52ms21228 KiB
30Elfogadva54ms21600 KiB
31Elfogadva59ms21780 KiB
subtask415/15
32Elfogadva43ms19568 KiB
33Elfogadva43ms19740 KiB
34Elfogadva39ms19564 KiB
35Elfogadva45ms21148 KiB
36Elfogadva59ms21468 KiB
37Elfogadva52ms21428 KiB
38Elfogadva48ms21196 KiB
39Elfogadva39ms19912 KiB
40Elfogadva45ms21212 KiB
41Elfogadva54ms21752 KiB
42Elfogadva59ms21420 KiB
43Elfogadva68ms21920 KiB
44Elfogadva46ms19936 KiB
45Elfogadva52ms21548 KiB
46Elfogadva64ms21952 KiB
subtask515/15
47Elfogadva48ms21116 KiB
48Elfogadva45ms21216 KiB
49Elfogadva50ms21112 KiB
50Elfogadva43ms21044 KiB
51Elfogadva46ms21216 KiB
52Elfogadva48ms21216 KiB
53Elfogadva48ms21216 KiB
54Elfogadva46ms21168 KiB
55Elfogadva45ms19684 KiB
56Elfogadva52ms21512 KiB
57Elfogadva43ms21108 KiB
58Elfogadva46ms21044 KiB
59Elfogadva50ms21484 KiB
60Elfogadva48ms21220 KiB
61Elfogadva45ms19936 KiB
subtask615/15
62Elfogadva45ms21416 KiB
63Elfogadva56ms21188 KiB
64Elfogadva57ms21720 KiB
65Elfogadva71ms21856 KiB
66Elfogadva76ms22328 KiB
67Elfogadva43ms21216 KiB
68Elfogadva50ms21416 KiB
69Elfogadva50ms21272 KiB
70Elfogadva54ms21220 KiB
71Elfogadva68ms21720 KiB
72Elfogadva50ms21476 KiB
73Elfogadva54ms21424 KiB
74Elfogadva63ms21644 KiB
75Elfogadva59ms21460 KiB
76Elfogadva43ms21216 KiB