Submission #624857

#TimeUsernameProblemLanguageResultExecution timeMemory
624857cacteyyJob Scheduling (CEOI12_jobs)C++17
5 / 100
1091 ms3996 KiB
#include <iostream>
#include <algorithm>

using namespace std;

int n, m;
int* times;

int checkSum(int k) {
	int out = 0;
	int i = 0;
	while (i < m) {
		out++;
		out = ((out > times[i]) ? out : times[i]);
		for (int j = 0; j < k && i + j < m; i++, j++) {
			if (times[i] > out) {
				break;
			}
		}
	}

	return out;
}

int main() {
	int k;
	int d;
	cin >> n >> d>>m;
	times = new int[m] {0};
	for (int i = 0; i < m; i++) {
		cin >> times[i];
	}

	sort(times, times + (m - 1));

	int lk = 1;
	int mk = m;
	int mid = (mk - lk) / 2 + lk;

	while (lk < mk) {
		mid = (mk - lk) / 2 + lk;
		if (checkSum(mid) >= n + d) lk = mid + 1;
		else mk = mid - 1;
	}
	int out = lk;
	if (mk < lk && checkSum(mk) <= n + d) out = mk;
	cout << out << endl;;

	for (int i = 0; i < n; i++) cout << 0 << endl;
}

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:26:6: warning: unused variable 'k' [-Wunused-variable]
   26 |  int k;
      |      ^
#Verdict Execution timeMemoryGrader output
Fetching results...