Submission #1084309

#TimeUsernameProblemLanguageResultExecution timeMemory
10843094QT0RJob Scheduling (CEOI12_jobs)C++17
0 / 100
103 ms14160 KiB
#include <bits/stdc++.h>
using namespace std;

int zle[100003];
int wej[1000003];
vector<int> ans[100003];

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];
		zle[wej[i]]++;
		ans[wej[i]].push_back(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[j]>i)break;
				ind++;
			}
			if (ind<=m && (wej[ind]+d)<=i){
				ok=false;
				break;
			}
		}
		if (ok)p=md;
		else l=md+1;
	}
	cout << l << '\n';
	// for (int i = 1; i<=n; i++){
	// 	for (auto u : ans[i])q.push(u);
	// 	for (int j = 1; j<=l; j++){
	// 		if (q.empty())break;
	// 		cout << q.front() << ' ';
	// 		q.pop();
	// 	}
	// 	cout << "0\n";
	// }
}
#Verdict Execution timeMemoryGrader output
Fetching results...