233402026-01-19 23:21:5542Fagyasztópython3Elfogadva 75/7520ms3540 KiB
from sys import stdin, setrecursionlimit
input=stdin.readline
setrecursionlimit(10**6)

def S():
 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(reverse=True)
 ot.sort(reverse=True)
 #print(negy,ot)
 def test(k):
  i=j=0
  for day in range(k,0,-1):
   if i<len(negy) and negy[i][0]>=day:
    if j <len(ot) and ot[j][0]>=day:
     i+=1
     j+=1
    else:return False
   else:
    j+=1
    if j <len(ot) and ot[j][0] >= day:j+=1
    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)
 res=[]
 i=j=0
 for day in range(lo,0,-1):
  if i<len(negy) and negy[i][0]>=day:
   if j<len(ot) and ot[j][0]>=day:
    res.append((negy[i][1],ot[j][1]))
    i+=1
    j+=1
  else:
   j+=1
   if j <len(ot) and ot[j][0] >= day:
    res.append((ot[j-1][1],ot[j][1]))
    j+=1
 for line in res[::-1]:
  print(*line)

S()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva16ms3124 KiB
subtask210/10
2Elfogadva17ms3124 KiB
3Elfogadva17ms3180 KiB
4Elfogadva17ms3028 KiB
5Elfogadva17ms3124 KiB
6Elfogadva17ms3124 KiB
7Elfogadva17ms3272 KiB
8Elfogadva17ms3232 KiB
9Elfogadva16ms3304 KiB
10Elfogadva16ms3276 KiB
11Elfogadva17ms3096 KiB
subtask320/20
12Elfogadva16ms3124 KiB
13Elfogadva16ms3256 KiB
14Elfogadva17ms3124 KiB
15Elfogadva16ms3260 KiB
16Elfogadva16ms3236 KiB
17Elfogadva17ms3252 KiB
18Elfogadva17ms3216 KiB
19Elfogadva17ms3240 KiB
20Elfogadva17ms3124 KiB
21Elfogadva18ms3140 KiB
22Elfogadva17ms3124 KiB
23Elfogadva19ms3368 KiB
24Elfogadva18ms3444 KiB
25Elfogadva17ms3352 KiB
26Elfogadva16ms3292 KiB
27Elfogadva19ms3436 KiB
28Elfogadva20ms3428 KiB
29Elfogadva18ms3216 KiB
30Elfogadva18ms3424 KiB
31Elfogadva19ms3384 KiB
subtask415/15
32Elfogadva16ms3144 KiB
33Elfogadva16ms3120 KiB
34Elfogadva16ms3400 KiB
35Elfogadva17ms3056 KiB
36Elfogadva18ms3140 KiB
37Elfogadva18ms3140 KiB
38Elfogadva17ms3120 KiB
39Elfogadva17ms3112 KiB
40Elfogadva17ms3140 KiB
41Elfogadva17ms3372 KiB
42Elfogadva18ms3128 KiB
43Elfogadva18ms3492 KiB
44Elfogadva17ms3060 KiB
45Elfogadva18ms3272 KiB
46Elfogadva19ms3408 KiB
subtask515/15
47Elfogadva17ms3076 KiB
48Elfogadva17ms3116 KiB
49Elfogadva17ms3136 KiB
50Elfogadva16ms3204 KiB
51Elfogadva17ms3272 KiB
52Elfogadva17ms3124 KiB
53Elfogadva17ms3052 KiB
54Elfogadva17ms3228 KiB
55Elfogadva17ms3124 KiB
56Elfogadva18ms3208 KiB
57Elfogadva17ms3124 KiB
58Elfogadva17ms3160 KiB
59Elfogadva18ms3124 KiB
60Elfogadva17ms3240 KiB
61Elfogadva17ms3300 KiB
subtask615/15
62Elfogadva17ms3292 KiB
63Elfogadva18ms3124 KiB
64Elfogadva19ms3384 KiB
65Elfogadva19ms3380 KiB
66Elfogadva20ms3540 KiB
67Elfogadva17ms3204 KiB
68Elfogadva17ms3268 KiB
69Elfogadva17ms3312 KiB
70Elfogadva18ms3312 KiB
71Elfogadva18ms3308 KiB
72Elfogadva17ms3328 KiB
73Elfogadva18ms3320 KiB
74Elfogadva19ms3244 KiB
75Elfogadva17ms3124 KiB
76Elfogadva18ms3424 KiB