247302026-02-14 21:13:07algoproFagyasztópypy3Hibás válasz 15/7585ms22416 KiB
# UUID: 9433dce0-f1a4-4cc3-8c22-f8519b4c5499
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(k):
        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)
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva39ms19688 KiB
subtask20/10
2Hibás válasz43ms19660 KiB
3Elfogadva43ms19604 KiB
4Hibás válasz39ms19668 KiB
5Elfogadva39ms19652 KiB
6Elfogadva39ms19676 KiB
7Elfogadva45ms19616 KiB
8Elfogadva43ms19720 KiB
9Elfogadva39ms19680 KiB
10Elfogadva39ms19884 KiB
11Elfogadva39ms19680 KiB
subtask30/20
12Elfogadva39ms19608 KiB
13Elfogadva46ms19748 KiB
14Elfogadva39ms19632 KiB
15Elfogadva43ms19548 KiB
16Elfogadva45ms19708 KiB
17Hibás válasz52ms21668 KiB
18Elfogadva50ms21396 KiB
19Hibás válasz48ms21216 KiB
20Hibás válasz50ms21468 KiB
21Hibás válasz61ms21724 KiB
22Hibás válasz48ms21140 KiB
23Elfogadva64ms21716 KiB
24Elfogadva71ms21632 KiB
25Hibás válasz61ms21772 KiB
26Hibás válasz48ms21480 KiB
27Hibás válasz78ms22416 KiB
28Hibás válasz72ms22264 KiB
29Elfogadva48ms21496 KiB
30Hibás válasz67ms21728 KiB
31Hibás válasz76ms22236 KiB
subtask415/15
32Elfogadva39ms19612 KiB
33Elfogadva39ms19664 KiB
34Elfogadva43ms19604 KiB
35Elfogadva48ms21060 KiB
36Elfogadva54ms21464 KiB
37Elfogadva59ms21468 KiB
38Elfogadva43ms21216 KiB
39Elfogadva39ms19948 KiB
40Elfogadva46ms21084 KiB
41Elfogadva57ms21724 KiB
42Elfogadva52ms21468 KiB
43Elfogadva72ms21716 KiB
44Elfogadva46ms19960 KiB
45Elfogadva52ms21348 KiB
46Elfogadva70ms22052 KiB
subtask50/15
47Hibás válasz50ms21128 KiB
48Hibás válasz50ms21452 KiB
49Hibás válasz57ms21360 KiB
50Hibás válasz43ms21080 KiB
51Elfogadva57ms21464 KiB
52Hibás válasz43ms21136 KiB
53Hibás válasz43ms21216 KiB
54Elfogadva48ms21420 KiB
55Elfogadva39ms19692 KiB
56Elfogadva50ms21536 KiB
57Hibás válasz50ms21268 KiB
58Hibás válasz43ms21128 KiB
59Elfogadva52ms21456 KiB
60Hibás válasz41ms21136 KiB
61Elfogadva45ms19904 KiB
subtask60/15
62Hibás válasz50ms21164 KiB
63Hibás válasz57ms21480 KiB
64Hibás válasz63ms21696 KiB
65Elfogadva68ms21988 KiB
66Elfogadva85ms21928 KiB
67Hibás válasz43ms21188 KiB
68Hibás válasz61ms21528 KiB
69Elfogadva50ms21468 KiB
70Hibás válasz52ms21468 KiB
71Hibás válasz78ms22060 KiB
72Elfogadva57ms21464 KiB
73Hibás válasz65ms21640 KiB
74Hibás válasz63ms21928 KiB
75Hibás válasz52ms21468 KiB
76Hibás válasz50ms21220 KiB