Submission #858459

# Submission time Handle Problem Language Result Execution time Memory
858459 2023-10-08T13:57:51 Z ilef Job Scheduling (CEOI12_jobs) C++14
90 / 100
400 ms 13908 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+1;
	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<<l<<endl;
	int days=1;
	for(int i=0;i<m;i++){
	    if(a[i].first<=days){
	     cout<<a[i].second+1<<" ";
	     cnt++;
	      if(cnt==l){
	        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 40 ms 3252 KB Output is correct
2 Correct 32 ms 3156 KB Output is correct
3 Correct 32 ms 3164 KB Output is correct
4 Correct 35 ms 3184 KB Output is correct
5 Correct 33 ms 3156 KB Output is correct
6 Correct 33 ms 3176 KB Output is correct
7 Correct 33 ms 3152 KB Output is correct
8 Correct 33 ms 3156 KB Output is correct
9 Correct 142 ms 3276 KB Output is correct
10 Correct 137 ms 3412 KB Output is correct
11 Correct 31 ms 3084 KB Output is correct
12 Correct 65 ms 4180 KB Output is correct
13 Correct 92 ms 6484 KB Output is correct
14 Correct 144 ms 7252 KB Output is correct
15 Incorrect 154 ms 8012 KB Output isn't correct
16 Correct 213 ms 10836 KB Output is correct
17 Correct 245 ms 11344 KB Output is correct
18 Correct 264 ms 12136 KB Output is correct
19 Incorrect 400 ms 13908 KB Output isn't correct
20 Correct 246 ms 11344 KB Output is correct