Submission #1085613

#TimeUsernameProblemLanguageResultExecution timeMemory
1085613vjudge1Job Scheduling (CEOI12_jobs)C++17
20 / 100
281 ms17464 KiB
#include <bits/stdc++.h> using namespace std; int n,d,m; vector<int> v; int freq[100001]; bool moze(int k) { int utre=0; for (int den=1;den<=n;den++) { int rabota_denes = freq[den] + utre; int potrebno = rabota_denes/k; if (rabota_denes%k>0) potrebno++; if (potrebno-1>d) return false; utre = rabota_denes-k; } if (utre>0) return false; return true; } int bs(int l,int r) { if (l==r) return l; int mid = (l+r)/2; if (moze(mid)) return bs(l,mid); else return bs(mid+1,r); } void pecati(int k) { vector<pair<int,int> > q; for (int i=0;i<v.size();i++) q.push_back({v[i],i+1}); sort(q.begin(),q.end()); int den=1,koristeni=0; for (int i=0;i<q.size();i++) { if (koristeni==k) { koristeni=0; den++; cout<<0<<endl; } int x = q[i].first,it=q[i].second; if (den<x) { while(den<x) { den++; cout<<0<<endl; } } koristeni++; cout<<it<<" "; } while(den<=n) { cout<<0<<endl; den++; } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>d>>m; for (int i=0;i<m;i++) { int a; cin>>a; freq[a]++; v.push_back(a); } int odg = bs(1,m); cout<<odg<<endl; pecati(odg); return 0; }

Compilation message (stderr)

jobs.cpp: In function 'void pecati(int)':
jobs.cpp:35:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |     for (int i=0;i<v.size();i++) q.push_back({v[i],i+1});
      |                  ~^~~~~~~~~
jobs.cpp:38:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     for (int i=0;i<q.size();i++)
      |                  ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...