192272025-12-01 10:31:0942Megrendelésekpython3Accepted 50/5039ms4916 KiB
from sys import stdin
input=stdin.readline

def solv():
    N,M,K = map(int,input().split())
    H = list(map(int,input().split()))
    h=[]
    for i in range(M):
        h.append((H[i],i+1))
    h.sort(reverse=True)
    res=[]
    #print(h)
    for cur in range(1,N+1):
        while h and h[-1][0]<cur:
            h.pop()
        for i in range(K):
            if h:
                a,b=h.pop()
                res.append((b,cur))
            else:
                break    
    
    print(len(res))
    for line in res:
        print(*line)
        


solv()
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted16ms3124 KiB
2Accepted37ms4916 KiB
subtask25/5
3Accepted16ms3120 KiB
4Accepted17ms3124 KiB
5Accepted17ms3124 KiB
6Accepted17ms3144 KiB
7Accepted14ms3156 KiB
subtask35/5
8Accepted16ms3124 KiB
9Accepted16ms3088 KiB
10Accepted17ms3320 KiB
11Accepted17ms3124 KiB
12Accepted17ms3400 KiB
subtask45/5
13Accepted16ms3312 KiB
14Accepted28ms4400 KiB
15Accepted20ms3652 KiB
16Accepted23ms3872 KiB
17Accepted19ms3548 KiB
subtask510/10
18Accepted16ms3124 KiB
19Accepted16ms3140 KiB
20Accepted17ms3380 KiB
21Accepted19ms3420 KiB
22Accepted18ms3248 KiB
23Accepted17ms3140 KiB
24Accepted17ms3380 KiB
25Accepted27ms4520 KiB
26Accepted28ms4404 KiB
27Accepted28ms4536 KiB
subtask625/25
28Accepted17ms3124 KiB
29Accepted17ms3124 KiB
30Accepted18ms3380 KiB
31Accepted30ms4136 KiB
32Accepted37ms4660 KiB
33Accepted28ms3892 KiB
34Accepted39ms4720 KiB
35Accepted37ms4876 KiB
36Accepted39ms4856 KiB
37Accepted37ms4860 KiB
38Accepted27ms3908 KiB
39Accepted17ms3344 KiB
40Accepted20ms3632 KiB
41Accepted32ms4356 KiB
42Accepted19ms3280 KiB
43Accepted27ms3996 KiB
44Accepted37ms4916 KiB
45Accepted21ms3620 KiB
46Accepted24ms3608 KiB
47Accepted28ms4056 KiB
48Accepted39ms4916 KiB
49Accepted37ms4836 KiB
50Accepted39ms4884 KiB
51Accepted37ms4860 KiB
52Accepted39ms4772 KiB