Submission #979028

#TimeUsernameProblemLanguageResultExecution timeMemory
979028AmaarsaaJob Scheduling (CEOI12_jobs)C++14
35 / 100
292 ms16564 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long ; int n, d; vector < pair < int, int > >v; bool can(int mid) { int i, s, cnt = 0, l, r; l = 0; for (i = 1; i <= n; i ++) { if ( l >= v.size()) return 1; if ( v[l].first < i) return 0; i = max(i, v[l].first - d); r = min(int(v.size() - 1), l + mid - 1); if ( l > r) return 0; l = r + 1; } if ( l >= v.size()) return 1; return 0; } void Ans(int mid) { int i, s, cnt = 0, l, r; l = 0; for (i = 1; i <= n; i ++) { i = max(i, v[l].first - d); r = min(int(v.size() - 1), l + mid - 1); for (int j = l; j <= r; j ++) cout << v[j].second << " "; cout << 0 << endl; l = r + 1; } return ; } int main() { // freopen("moocast.in", "r", stdin); // freopen("moocast.out", "w", stdout); ios::sync_with_stdio(false); cin.tie(NULL); int m, i,x, lo, hi, mid; cin >> n >> d >> m; for (i = 1; i <= m; i ++) { cin >> x; v.push_back({x + d, i}); } sort(v.begin(), v.end()); lo = 0; hi = m; while (lo < hi) { mid = (lo + hi)/2; if (!can(mid)) lo = mid + 1; else hi = mid; } cout << lo << endl; Ans(lo ); }

Compilation message (stderr)

jobs.cpp: In function 'bool can(int)':
jobs.cpp:11:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |   if ( l >= v.size()) return 1;
      |        ~~^~~~~~~~~~~
jobs.cpp:18:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |  if ( l >= v.size()) return 1;
      |       ~~^~~~~~~~~~~
jobs.cpp:8:9: warning: unused variable 's' [-Wunused-variable]
    8 |  int i, s, cnt  = 0, l, r;
      |         ^
jobs.cpp:8:12: warning: unused variable 'cnt' [-Wunused-variable]
    8 |  int i, s, cnt  = 0, l, r;
      |            ^~~
jobs.cpp: In function 'void Ans(int)':
jobs.cpp:22:9: warning: unused variable 's' [-Wunused-variable]
   22 |  int i, s, cnt  = 0, l, r;
      |         ^
jobs.cpp:22:12: warning: unused variable 'cnt' [-Wunused-variable]
   22 |  int i, s, cnt  = 0, l, r;
      |            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...