Submission #98970

#TimeUsernameProblemLanguageResultExecution timeMemory
98970figter001Job Scheduling (CEOI12_jobs)C++14
100 / 100
403 ms17424 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; const int nax = 1e5+50; vector<pair<int,int>> j; vector<int> w; int n,d,m; queue<int> tmp; bool can(int md){ queue<int> q = tmp; int cur = 1,u = 0; while(q.size()){ int v = q.front(); if(v - d > cur){ cur = v-d; u = 0; } q.pop(); if(cur > v)return 0; u++; if(u == md){ u = 0; cur++; } } return 1; } int main(){ scanf("%d%d%d",&n,&d,&m); j.resize(m); for(int i=0;i<m;i++){ scanf("%d",&j[i].first); j[i].second = i; } sort(j.begin(),j.end()); for(int i=0;i<m;i++) tmp.push(j[i].first + d); int md,lo=1,hi=1e5,ans=1e5; while(lo <= hi){ md = (lo+hi)/2; if(can(md)){ hi = md-1; ans = md; }else lo = md+1; } printf("%d\n", ans); int u = 0,id=0; for(int i=0;i<n;i++){ for(int x=0;x<ans;x++){ if(id == m)break; if(j[id].first - 1 > i)break; printf("%d ", j[id].second + 1); id++; } printf("0\n"); } }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:54:6: warning: unused variable 'u' [-Wunused-variable]
  int u = 0,id=0;
      ^
jobs.cpp:36:7: 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:39:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&j[i].first);
   ~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...