Submission #462303

#TimeUsernameProblemLanguageResultExecution timeMemory
462303dqkJob Scheduling (CEOI12_jobs)C++17
70 / 100
851 ms59476 KiB
#include <bits/stdc++.h> int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); int N, D, M; std::cin >> N >> D >> M; std::vector<std::vector<int>> a(M, std::vector<int>(2)); for (int i = 0; i < M; ++i) { std::cin >> a[i][0]; a[i][1] = i + 1; } sort(a.begin(), a.end()); std::vector<int> b(M); for (int i = 0; i < a.size(); ++i) b[i] = a[i][0]; int lo = 1, hi = 1e9; while (lo < hi) { int mi = (lo + hi) / 2; int task = 0; bool ok = true; for (int i = 1; i <= N && ok; ++i) { int u = std::upper_bound(b.begin(), b.end(), i) - b.begin(); int v = std::lower_bound(b.begin(), b.end(), i - D) - b.begin(); if (task < v) ok = false; task = std::min(task + mi, u); } if (ok) hi = mi; else lo = mi + 1; } std::cout << lo << "\n"; int task = 0; for (int i = 1; i <= N; ++i) { int cur = 0; while (task < M && i >= a[task][0] && i <= a[task][0] + D && cur < lo) { std::cout << a[task][1] << " "; task++, cur++; } std::cout << 0 << "\n"; } return 0; }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:14:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |       for (int i = 0; i < a.size(); ++i)
      |                       ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...