#include <bits/stdc++.h>
using namespace std;
#define fr first
#define sc second
const int mxn=1e6+5;
int n,m,d;
pair<int,int>a[mxn];
int main(){
cin>>n>>d>>m;
for(int i=1;i<=m;i++){
cin>>a[i].fr;
a[i].sc=i;
}
a[m+1].fr=1e9;
sort(a+1,a+m+1);
int l=0,r=m;
while(r-l>1){
//cout<<r<<" "<<l<<endl;
int mid=(l+r)/2,p=1;
for(int i=1;i<=n;i++){
if(a[p].fr+d<i){
break;
}
int cnt=0;
while(cnt<mid && a[p].fr<=i){
cnt++;
p++;
}
}
if(p>m){
r=mid;
}
else{
l=mid;
}
}
cout<<r<<endl;
int p=1;
for(int i=1;i<=n;i++){
int cnt=0;
while(cnt<r && a[p].fr<=i){
cnt++;
cout<<a[p].sc<<" ";
p++;
}
cout<<0<<endl;
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
33 ms |
3156 KB |
Output is correct |
2 |
Correct |
32 ms |
3208 KB |
Output is correct |
3 |
Correct |
32 ms |
3164 KB |
Output is correct |
4 |
Correct |
32 ms |
3164 KB |
Output is correct |
5 |
Correct |
32 ms |
3164 KB |
Output is correct |
6 |
Correct |
32 ms |
3156 KB |
Output is correct |
7 |
Correct |
33 ms |
3156 KB |
Output is correct |
8 |
Correct |
33 ms |
3164 KB |
Output is correct |
9 |
Correct |
139 ms |
3660 KB |
Output is correct |
10 |
Correct |
138 ms |
3572 KB |
Output is correct |
11 |
Correct |
30 ms |
3164 KB |
Output is correct |
12 |
Correct |
67 ms |
3940 KB |
Output is correct |
13 |
Correct |
91 ms |
6484 KB |
Output is correct |
14 |
Correct |
145 ms |
9044 KB |
Output is correct |
15 |
Correct |
152 ms |
8300 KB |
Output is correct |
16 |
Correct |
215 ms |
13368 KB |
Output is correct |
17 |
Correct |
245 ms |
14420 KB |
Output is correct |
18 |
Correct |
259 ms |
14808 KB |
Output is correct |
19 |
Correct |
394 ms |
16724 KB |
Output is correct |
20 |
Correct |
245 ms |
14256 KB |
Output is correct |