제출 #743594

#제출 시각아이디문제언어결과실행 시간메모리
743594vjudge1Job Scheduling (CEOI12_jobs)C++17
30 / 100
191 ms13852 KiB
#include<bits/stdc++.h> using namespace std; const int N = 1e5+1; int n,d,m; struct job { int dline,idx; bool operator <(const job &x)const{ if(dline != x.dline) return dline < x.dline; } }; int ans; vector<job> vec; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> d >> m; for(int i=1;i<=m;++i) { int x; cin >> x; x += d; vec.push_back({x,i}); } sort(vec.begin(),vec.end()); // while(!pq.empty()) // { // cout << pq.top().dline << " " << pq.top().idx << '\n'; // pq.pop(); // } int l = 1,r = 1e9+7; while(l<=r) { int mid=(l+r)/2; int day=1,cb = 0; bool can = true; // cout << "mid = " << mid << '\n'; for(int i=0;i<m;++i) { int num = day; // cout << "day : " << num << " this job death line : " << vec[i].dline << '\n'; if(day >= vec[i].dline) { can = false; break; } ++cb; if(cb == mid) { ++day; cb = 0; } } if(can) { ans = mid; r = mid-1; } else l = mid+1; // cout << "\n\n"; } cout << ans << '\n'; int cnt = 0; for(int i=0;i<m;++i) { if(vec[i].dline != 0) cout << vec[i].idx << " "; if((i+1)%ans == 0) { cout << "0\n"; ++cnt; } } while(cnt < n) { cout << "0\n"; cnt++; } return 0; }

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

jobs.cpp: In function 'int main()':
jobs.cpp:44:17: warning: unused variable 'num' [-Wunused-variable]
   44 |             int num = day;
      |                 ^~~
jobs.cpp: In member function 'bool job::operator<(const job&) const':
jobs.cpp:13:5: warning: control reaches end of non-void function [-Wreturn-type]
   13 |     }
      |     ^
#Verdict Execution timeMemoryGrader output
Fetching results...