Submission #1084318

#TimeUsernameProblemLanguageResultExecution timeMemory
10843184QT0RJob Scheduling (CEOI12_jobs)C++17
100 / 100
178 ms17232 KiB
#include <bits/stdc++.h>
using namespace std;

int zle[100003];
pair<int,int> wej[1000003];

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int n,d,m;
	cin >> n >> d >> m;
	for (int i = 1; i<=m; i++){
		cin >> wej[i].first;
		zle[wej[i].first]++;
		wej[i].second=i;
	}
	sort(wej+1,wej+m+1);
	int l=1,p=m,md;
	while(l<p){
		md=(l+p)/2;
		bool ok=true;
		int ind=1;
		for (int i = 1; i<=n; i++){
			for (int j = 1; j<=md; j++){
				if (ind>m || wej[ind].first>i)break;
				ind++;
			}
			if (ind<=m && (wej[ind].first+d)<=i){
				ok=false;
				break;
			}
		}
		if (ok)p=md;
		else l=md+1;
	}
	cout << l << '\n';
	int ind=1;
	for (int i = 1; i<=n; i++){
		for (int j = 1; j<=l; j++){
			if (ind>m || wej[ind].first>i)break;
			cout << wej[ind].second << ' ';
			ind++;
		}
		cout << "0\n";
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...