247432026-02-14 22:13:23algoproFagyasztópypy3Elfogadva 75/7578ms22264 KiB
# UUID: 3cedc2f6-92d3-4f1a-88cd-e25406ff8de6
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.copy()
    else:
        hi = mid
print(lo)
res.reverse()
for line in res:
    print(*line)
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva45ms19692 KiB
subtask210/10
2Elfogadva39ms19900 KiB
3Elfogadva39ms19720 KiB
4Elfogadva45ms19632 KiB
5Elfogadva45ms19592 KiB
6Elfogadva48ms19760 KiB
7Elfogadva46ms19784 KiB
8Elfogadva43ms19540 KiB
9Elfogadva39ms19688 KiB
10Elfogadva46ms19568 KiB
11Elfogadva46ms19744 KiB
subtask320/20
12Elfogadva41ms19736 KiB
13Elfogadva41ms19660 KiB
14Elfogadva43ms19616 KiB
15Elfogadva46ms19704 KiB
16Elfogadva39ms19664 KiB
17Elfogadva45ms21076 KiB
18Elfogadva52ms21252 KiB
19Elfogadva45ms19996 KiB
20Elfogadva46ms21200 KiB
21Elfogadva59ms21520 KiB
22Elfogadva48ms21212 KiB
23Elfogadva57ms21668 KiB
24Elfogadva65ms21724 KiB
25Elfogadva59ms21356 KiB
26Elfogadva43ms21260 KiB
27Elfogadva68ms21604 KiB
28Elfogadva64ms21720 KiB
29Elfogadva52ms21136 KiB
30Elfogadva64ms21652 KiB
31Elfogadva68ms21860 KiB
subtask415/15
32Elfogadva39ms19588 KiB
33Elfogadva39ms19768 KiB
34Elfogadva45ms19628 KiB
35Elfogadva48ms21236 KiB
36Elfogadva54ms21460 KiB
37Elfogadva59ms21592 KiB
38Elfogadva46ms21228 KiB
39Elfogadva41ms19816 KiB
40Elfogadva50ms21056 KiB
41Elfogadva63ms21572 KiB
42Elfogadva54ms21476 KiB
43Elfogadva61ms21852 KiB
44Elfogadva41ms19808 KiB
45Elfogadva59ms21368 KiB
46Elfogadva64ms21972 KiB
subtask515/15
47Elfogadva48ms21196 KiB
48Elfogadva52ms21024 KiB
49Elfogadva46ms21088 KiB
50Elfogadva43ms21220 KiB
51Elfogadva52ms21104 KiB
52Elfogadva50ms21096 KiB
53Elfogadva45ms21208 KiB
54Elfogadva52ms21136 KiB
55Elfogadva41ms19692 KiB
56Elfogadva61ms21392 KiB
57Elfogadva46ms21232 KiB
58Elfogadva48ms21184 KiB
59Elfogadva50ms21468 KiB
60Elfogadva50ms21156 KiB
61Elfogadva45ms19860 KiB
subtask615/15
62Elfogadva52ms21064 KiB
63Elfogadva57ms21164 KiB
64Elfogadva59ms21788 KiB
65Elfogadva65ms21960 KiB
66Elfogadva78ms22264 KiB
67Elfogadva48ms21212 KiB
68Elfogadva52ms21424 KiB
69Elfogadva45ms21136 KiB
70Elfogadva48ms21216 KiB
71Elfogadva61ms21936 KiB
72Elfogadva57ms21340 KiB
73Elfogadva56ms21468 KiB
74Elfogadva65ms21784 KiB
75Elfogadva52ms21428 KiB
76Elfogadva50ms21232 KiB