제출 #743217

#제출 시각아이디문제언어결과실행 시간메모리
743217vjudge1Job Scheduling (CEOI12_jobs)C++17
0 / 100
288 ms30068 KiB
#include<bits/stdc++.h> using namespace std; struct deads { int day,work,dead; bool operator<(const deads&d2)const{ return day<d2.day; } }; vector<deads> 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; int cnt = 0; bool ck = 0; int ps = 0; for(int i = 0; i<vc.size(); ++i){ if(vc[i].day+ps==vc[i].dead){ ck = 1; break; } ++cnt; if(cnt==mid){ cnt = 0; ps++; } if(ck) break; } if(ck) l = mid+1; else r = mid; vc = copys; } int k = m/l; cout<<k<<"\n"; int cnt = 0,c = 0; for(auto [day,work,dead]:vc){ if(cnt==k){ cnt = 0; ++c; cout<<0<<"\n"; } ++cnt; cout<<work<<" "; } if(c!=m) cout<<"0\n"; for(int i = 0; i<n-l; ++i) cout<<0<<"\n"; }

컴파일 시 표준 에러 (stderr) 메시지

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