Submission #256313

#TimeUsernameProblemLanguageResultExecution timeMemory
256313MolukhyyehJob Scheduling (CEOI12_jobs)C++14
43 / 100
330 ms18424 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define all(x) x.begin(),x.end() int const N = 200001, M = 1e6+1; int n, d, m; pair<int,int> v[M]; vector<int> pr[N]; bool ok(int md){ int av = md, day = 0, cur = 0; for(int i = 0; i<m; ++i){ cur = day; --av; if(!av)av = md, ++day; if(cur >= v[i].first+d)return false; } return day <= n; } int main(){ scanf("%d%d%d", &n, &d, &m); for(int i = 0; i<m; ++i){ scanf("%d", &v[i].first); v[i].second = i+1; } sort(v, v+m); int l = 1, r = M, md, an = m; while(l <= r){ md = l + r >> 1; if(ok(md))r = md-1, an = md; else l = md+1; } printf("%d\n", an); int day = 0, av = an, ls = 0; for(int i = 0; i<m; ++i){ printf("%d ", v[i].second); --av; if(!av)av = md, printf("0\n"), ++day; } for(int i = 0; i<n-day; ++i)puts("0"); }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:31:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       md = l + r >> 1;
            ~~^~~
jobs.cpp:36:27: warning: unused variable 'ls' [-Wunused-variable]
     int day = 0, av = an, ls = 0;
                           ^~
jobs.cpp:23:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d", &n, &d, &m);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
jobs.cpp:25:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
      scanf("%d", &v[i].first);
      ~~~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...