Submission #858467

# Submission time Handle Problem Language Result Execution time Memory
858467 2023-10-08T14:06:19 Z ilef Job Scheduling (CEOI12_jobs) C++14
90 / 100
414 ms 13748 KB
#include <bits/stdc++.h>
using namespace std;
const int M=1e6+12;
int n,d,m;
 pair<int,int>a[M];
bool good(int num) {
     int i=0;
     int day=1;
     int cnt=0;
     while(i<m){
         if(cnt==num){
             cnt=0;
             day++;
         }
         if(a[i].first>day){
             day=a[i].first;
         }
         if(a[i].first+d<day){
             return false;
         }
         i++;
         cnt++;
     }
     return day<=n;
}
 
int main() {
	cin>>n>>d>>m;
   
	for(int i=0;i<m;i++){
	    cin>>a[i].first;
	    a[i].second=i;
	}
	sort(a,a+m);
	int l=1;
	int r=m;
	int mid=(l+r)/2;
	while(l<r){
	     mid=(l+r)/2;
	    if(good(mid)){
	        r=mid;
	    }
	    else{
	        l=mid+1;
	    }
	}
	int cnt=0;
	cout<<r<<endl;
	int days=1;
	for(int i=0;i<m;i++){
	    if(a[i].first<=days){
	     cout<<a[i].second+1<<" ";
	     cnt++;
	      if(cnt==r){
	        cout<<0<<endl;
	        cnt=0;
	        days++;}}
	         else{
	        cout<<0<<endl;
	         days++;
	        cnt=0;
	         }
	    
	}
	for(int i=days;i<=n;i++){
	    cout<<0<<endl;
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 32 ms 3164 KB Output is correct
2 Correct 33 ms 3164 KB Output is correct
3 Correct 33 ms 3268 KB Output is correct
4 Correct 32 ms 3152 KB Output is correct
5 Correct 33 ms 3160 KB Output is correct
6 Correct 32 ms 3164 KB Output is correct
7 Correct 33 ms 3160 KB Output is correct
8 Correct 34 ms 3164 KB Output is correct
9 Correct 142 ms 3412 KB Output is correct
10 Correct 138 ms 3508 KB Output is correct
11 Correct 31 ms 3168 KB Output is correct
12 Correct 68 ms 3924 KB Output is correct
13 Correct 91 ms 6480 KB Output is correct
14 Correct 145 ms 7252 KB Output is correct
15 Incorrect 159 ms 7984 KB Output isn't correct
16 Correct 211 ms 10848 KB Output is correct
17 Correct 267 ms 11352 KB Output is correct
18 Correct 256 ms 12116 KB Output is correct
19 Incorrect 414 ms 13748 KB Output isn't correct
20 Correct 253 ms 11364 KB Output is correct