255792026-02-20 20:10:03ggeerrggoo2Megrendelésekcpp17Accepted 50/5023ms820 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
    int n,m,k;cin>>n>>m>>k;
    vector<array<int, 2>>v(m+1);
    for(int i=1;i<=m;i++){
        cin >> v[i][0];
        v[i][1]=i;
    }
    sort(v.begin()+1, v.end());
    int ans=0;
    int it=1;
    vector<array<int, 2>>out;
    out.reserve(m);
    for(int i=1;i<=n&&it<=m;i++){
        for(int j=1;j<=k&&it<=m;j++){
            while(it<=m && v[it][0]<i)it++;
            if(it>m)break;
            out.push_back({v[it][1], i});
            ans++;
            it++;
        }
    }
    cout << ans << endl;
    for(auto i:out){
        cout << i[0] << " " << i[1] <<endl;
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted18ms820 KiB
subtask25/5
3Accepted1ms552 KiB
4Accepted2ms316 KiB
5Accepted1ms316 KiB
6Accepted2ms508 KiB
7Accepted1ms316 KiB
subtask35/5
8Accepted1ms508 KiB
9Accepted1ms508 KiB
10Accepted2ms316 KiB
11Accepted2ms500 KiB
12Accepted3ms444 KiB
subtask45/5
13Accepted2ms316 KiB
14Accepted14ms672 KiB
15Accepted7ms444 KiB
16Accepted10ms592 KiB
17Accepted4ms316 KiB
subtask510/10
18Accepted1ms316 KiB
19Accepted1ms316 KiB
20Accepted3ms316 KiB
21Accepted3ms500 KiB
22Accepted2ms316 KiB
23Accepted1ms316 KiB
24Accepted3ms368 KiB
25Accepted6ms572 KiB
26Accepted6ms588 KiB
27Accepted6ms600 KiB
subtask625/25
28Accepted2ms316 KiB
29Accepted2ms316 KiB
30Accepted3ms316 KiB
31Accepted13ms564 KiB
32Accepted23ms564 KiB
33Accepted10ms564 KiB
34Accepted21ms768 KiB
35Accepted20ms784 KiB
36Accepted20ms820 KiB
37Accepted20ms760 KiB
38Accepted10ms572 KiB
39Accepted3ms316 KiB
40Accepted4ms432 KiB
41Accepted14ms672 KiB
42Accepted3ms364 KiB
43Accepted10ms472 KiB
44Accepted19ms748 KiB
45Accepted4ms316 KiB
46Accepted7ms316 KiB
47Accepted9ms596 KiB
48Accepted19ms592 KiB
49Accepted21ms788 KiB
50Accepted21ms740 KiB
51Accepted20ms748 KiB
52Accepted19ms772 KiB