제출 #743132

#제출 시각아이디문제언어결과실행 시간메모리
743132vjudge1Job Scheduling (CEOI12_jobs)C++17
0 / 100
1085 ms14440 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; return idx > x.idx; } }; int ans; vector<int> path; priority_queue<job> pq; 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; pq.push({x,i}); } // while(!pq.empty()) // { // cout << pq.top().dline << " " << pq.top().idx << '\n'; // pq.pop(); // } int l = 1,r = 1e9+7; while(l<=r) { priority_queue<job> tmp = pq; int mid = (l+r)/2; // cout << "mid = " << mid << '\n'; bool all = true; bool cant = false; int cnt=0; for(int i=1;i<=n;++i) { for(int j=1;j<=mid;++j) { // cout << "day = " << i << " deadline now " << tmp.top().dline << '\n'; if(i > tmp.top().dline) { cant = true; break; } if(!tmp.empty()) tmp.pop(); } if(cant) break; } if((!cant) && tmp.empty()) { r = mid-1; ans = mid; } else l = mid+1; // cout << "\n\n"; } cout << ans << '\n'; // int d = 0; // while(!pq.empty()) // { // for(int i=1;i<=ans;++i) // { // cout << pq.top().idx << " "; // pq.pop(); // } // ++d; // cout << "0\n"; // } // while(d < n) // { // cout << "0\n"; // d++; // } return 0; }

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

jobs.cpp: In function 'int main()':
jobs.cpp:42:14: warning: unused variable 'all' [-Wunused-variable]
   42 |         bool all = true;
      |              ^~~
jobs.cpp:44:13: warning: unused variable 'cnt' [-Wunused-variable]
   44 |         int cnt=0;
      |             ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...