Submission #742946

#TimeUsernameProblemLanguageResultExecution timeMemory
742946vjudge1Job Scheduling (CEOI12_jobs)C++17
0 / 100
537 ms29336 KiB
#include<bits/stdc++.h> using namespace std; vector<tuple<int, int, int>> vc,copys; int n,d,m,a,l = 1,r = 1e9,ans = 1e9+7; int main() { ios_base::sync_with_stdio(0),cin.tie(0); cin>>n>>d>>m; for(int i = 1; i<=m; ++i){ cin>>a; vc.push_back({a,i,a+d}); } sort(vc.begin(), vc.end()); for(auto [day,work,dead]:vc){ copys.push_back({day,work,dead}); } while(l<r){ int mid = (l+r)>>1; bool ck = 0; int cnt = 0; for(int i = 0; i<copys.size(); ++i){ bool s = 0; auto &[day,work,dead] = vc[i]; if(day==dead){ ck = 1; break; } ++cnt; if(cnt==mid){ cnt = 0; for(int j = i+1; j<copys.size(); ++j){ auto &[day,work,dead] = vc[j]; day++; } } if(s){ ck = 1; break; } } if(ck){ l = mid+1; } else{ r = mid; } //vc = copys; } cout<<l+1<<"\n"; int cnt = 0,c = 0; for(auto [day,work,dead]:copys){ if(cnt==l+1){ cout<<0; cnt = 0; ++c; cout<<"\n"; } cout<<work<<" "; ++cnt; } ++c; cout<<"0\n"; for(int i = 0; i<n-c; ++i){ cout<<0<<"\n"; } }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:24:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::tuple<int, int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |         for(int i = 0; i<copys.size(); ++i){
      |                        ~^~~~~~~~~~~~~
jobs.cpp:34:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::tuple<int, int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |                 for(int j = i+1; j<copys.size(); ++j){
      |                                  ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...