247462026-02-14 22:15:01algoproFagyasztópypy3Elfogadva 75/7575ms22392 KiB
# UUID: dcd20252-5fd0-458f-a027-9282c1011159
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
1Elfogadva45ms19696 KiB
subtask210/10
2Elfogadva45ms19600 KiB
3Elfogadva39ms19704 KiB
4Elfogadva39ms19704 KiB
5Elfogadva43ms19652 KiB
6Elfogadva45ms19584 KiB
7Elfogadva45ms19676 KiB
8Elfogadva39ms19684 KiB
9Elfogadva39ms19612 KiB
10Elfogadva43ms19628 KiB
11Elfogadva39ms19856 KiB
subtask320/20
12Elfogadva39ms19692 KiB
13Elfogadva46ms19728 KiB
14Elfogadva39ms19588 KiB
15Elfogadva43ms19652 KiB
16Elfogadva43ms19520 KiB
17Elfogadva52ms21040 KiB
18Elfogadva46ms21132 KiB
19Elfogadva37ms19860 KiB
20Elfogadva43ms21076 KiB
21Elfogadva50ms21428 KiB
22Elfogadva48ms21236 KiB
23Elfogadva68ms21764 KiB
24Elfogadva57ms21736 KiB
25Elfogadva57ms21560 KiB
26Elfogadva48ms21228 KiB
27Elfogadva59ms21792 KiB
28Elfogadva64ms21848 KiB
29Elfogadva43ms21228 KiB
30Elfogadva61ms21480 KiB
31Elfogadva67ms21824 KiB
subtask415/15
32Elfogadva43ms19796 KiB
33Elfogadva39ms19680 KiB
34Elfogadva39ms19688 KiB
35Elfogadva48ms21108 KiB
36Elfogadva52ms21480 KiB
37Elfogadva57ms21492 KiB
38Elfogadva43ms21052 KiB
39Elfogadva45ms19948 KiB
40Elfogadva45ms21228 KiB
41Elfogadva63ms21588 KiB
42Elfogadva59ms21448 KiB
43Elfogadva61ms21992 KiB
44Elfogadva39ms19948 KiB
45Elfogadva59ms21524 KiB
46Elfogadva75ms22124 KiB
subtask515/15
47Elfogadva43ms21224 KiB
48Elfogadva45ms21216 KiB
49Elfogadva50ms21108 KiB
50Elfogadva48ms21184 KiB
51Elfogadva50ms21048 KiB
52Elfogadva43ms21220 KiB
53Elfogadva48ms21128 KiB
54Elfogadva46ms21248 KiB
55Elfogadva46ms19692 KiB
56Elfogadva52ms21444 KiB
57Elfogadva48ms21052 KiB
58Elfogadva43ms21068 KiB
59Elfogadva57ms21464 KiB
60Elfogadva52ms21104 KiB
61Elfogadva39ms19740 KiB
subtask615/15
62Elfogadva45ms21240 KiB
63Elfogadva52ms21168 KiB
64Elfogadva63ms21736 KiB
65Elfogadva65ms21944 KiB
66Elfogadva68ms22392 KiB
67Elfogadva52ms21216 KiB
68Elfogadva56ms21440 KiB
69Elfogadva46ms21056 KiB
70Elfogadva54ms21176 KiB
71Elfogadva70ms21912 KiB
72Elfogadva50ms21456 KiB
73Elfogadva54ms21480 KiB
74Elfogadva59ms21532 KiB
75Elfogadva52ms21420 KiB
76Elfogadva48ms21224 KiB