192512025-12-02 18:54:03ercseferencMegrendelésekcpp17Accepted 50/5023ms776 KiB
#include <bits/stdc++.h>
using namespace std;
struct par{int ind,ido;};
bool has(par n, par m){
    return n.ido<m.ido;}
int main()
{
    int n,m,k; cin>>n>>m>>k;
    vector<par>a(m+1);
    for(int i=1; i<=m; i++){
        cin>>a[i].ido; a[i].ind=i;}
    sort(a.begin()+1, a.end(), has);
    vector<par>b; int t=0,p=1;
    for(int i=1; i<=n; i++){
        t=0;
        while(a[p].ido>=i && t<k && p<=m){
            par x; x.ido=a[p].ind; x.ind=i;
            b.push_back(x); t++; p++;}
        while(a[p].ido==i)p++;}
    cout<<b.size()<<endl;
    for(par x:b)cout<<x.ido<<" "<<x.ind<<endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted18ms564 KiB
subtask25/5
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms568 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
subtask35/5
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted2ms316 KiB
12Accepted2ms316 KiB
subtask45/5
13Accepted1ms316 KiB
14Accepted14ms616 KiB
15Accepted7ms316 KiB
16Accepted10ms564 KiB
17Accepted4ms764 KiB
subtask510/10
18Accepted1ms316 KiB
19Accepted1ms316 KiB
20Accepted3ms316 KiB
21Accepted3ms316 KiB
22Accepted2ms316 KiB
23Accepted1ms316 KiB
24Accepted3ms316 KiB
25Accepted6ms480 KiB
26Accepted6ms316 KiB
27Accepted6ms316 KiB
subtask625/25
28Accepted2ms320 KiB
29Accepted1ms316 KiB
30Accepted3ms316 KiB
31Accepted12ms580 KiB
32Accepted21ms580 KiB
33Accepted10ms564 KiB
34Accepted23ms564 KiB
35Accepted20ms708 KiB
36Accepted19ms756 KiB
37Accepted19ms564 KiB
38Accepted10ms584 KiB
39Accepted3ms316 KiB
40Accepted4ms316 KiB
41Accepted14ms620 KiB
42Accepted3ms316 KiB
43Accepted9ms580 KiB
44Accepted19ms564 KiB
45Accepted4ms316 KiB
46Accepted8ms508 KiB
47Accepted9ms564 KiB
48Accepted20ms776 KiB
49Accepted21ms576 KiB
50Accepted23ms724 KiB
51Accepted20ms732 KiB
52Accepted18ms716 KiB