Submission #373098

#TimeUsernameProblemLanguageResultExecution timeMemory
373098mariowongJob Scheduling (CEOI12_jobs)C++14
0 / 100
36 ms2156 KiB
#include <bits/stdc++.h>
using namespace std;

int n,d,m,l,r,mid,ct;
pair <int,int> a[100005]; 	
bool ok;
int main(){
	ios::sync_with_stdio(false);
	cin >> n >> d >> m;
	for (int i=1;i<=m;i++){
		cin >> a[i].first;
		a[i].second=i;
	}
	sort(a+1,a+1+m);
	l=1; r=m; 
	while (l < r){
		mid=(l+r)/2; ct=0;
		ok=true;
		for (int i=1;i<=m;i+=mid){
			ct++;
			for (int j=i;j<=i+mid-1;j++){
				if (a[j].first+d < ct)
				ok=false;	
			}	
		}
		if (ok)
		r=mid;
		else
		l=mid+1;
	}
	cout << l << "\n";
	for (int i=0;i<n;i++){
		for (int j=i*l+1;j<=min(m,i*l+l);j++){
			cout << a[j].second << " ";
		}
		cout << "0\n";
	}
	return 0;
}	
#Verdict Execution timeMemoryGrader output
Fetching results...