Submission #260327

#TimeUsernameProblemLanguageResultExecution timeMemory
260327georgerapeanuJob Scheduling (CEOI12_jobs)C++11
100 / 100
371 ms17360 KiB
#include <cstdio> #include <algorithm> #include <vector> using namespace std; int m,n,d; vector<pair<int,int>> request; bool ok(int cnt,bool afis){ if(afis){ printf("%d\n",cnt); } int fst = 0; for(int i = 1;i <= n;i++){ if(fst < (int)request.size() && i - request[fst].first > d){ return false; } int tmp = cnt; while(fst < (int)request.size() && request[fst].first <= i && tmp > 0){ if(afis){ printf("%d ",request[fst].second); } tmp--; fst++; } if(afis){ printf("0\n"); } } return true; } int main(){ scanf("%d %d %d",&n,&d,&m); for(int i = 1;i <= m;i++){ int day; scanf("%d",&day); request.push_back({day,i}); } sort(request.begin(),request.end()); int st = 0,dr = m + 1; while(dr - st > 1){ int mid = (st + dr) / 2; if(ok(mid,false)){ dr = mid; } else{ st = mid; } } ok(dr,true); return 0; }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:40: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:45:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&day);
         ~~~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...