Submission #256316

#TimeUsernameProblemLanguageResultExecution timeMemory
256316MolukhyyehJob Scheduling (CEOI12_jobs)C++14
49 / 100
313 ms19576 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){ if(m / md > n)return false; 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 true; } 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 = m/n+(m%n? 1: 0), 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:32:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       md = l + r >> 1;
            ~~^~~
jobs.cpp:37:27: warning: unused variable 'ls' [-Wunused-variable]
     int day = 0, av = an, ls = 0;
                           ^~
jobs.cpp:24: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:26:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
      scanf("%d", &v[i].first);
      ~~~~~^~~~~~~~~~~~~~~~~~~
jobs.cpp:40:6: warning: 'av' may be used uninitialized in this function [-Wmaybe-uninitialized]
      --av;
      ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...