제출 #559623

#제출 시각아이디문제언어결과실행 시간메모리
559623srivatsav_kannanJob Scheduling (CEOI12_jobs)C++14
0 / 100
342 ms42872 KiB
#include <iostream> #include <array> #include <fstream> #include <vector> #include <set> #include <queue> #include <cmath> #include <map> #include <algorithm> #include <numeric> #include <stack> #include <cstring> #include <bitset> #include <climits> #include <valarray> #include <list> #define int long long int #define inf 100000000000 #define endl '\n' #define mod 998244353 using namespace std; int n,m,d; pair<int,int> ar[1000000]; vector<vector<int>> ans; bool f(int mid){ int day = 1; vector<int> today; int done_t = 0; for (int i = 0; i < d; i++){ while (ar[i].first > day || done_t == mid){ day++; done_t = 0; today.push_back(0); ans.push_back(today); today.clear(); } if (day-ar[i].first > m || day > n) return false; today.push_back(ar[i].second); done_t++; } today.push_back(0); ans.push_back(today); return true; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // ifstream cin("sabotage.in"); // ofstream cout("sabotage.out"); cin >> n >> m >> d; for (int i = 0; i < d; i++) { cin >> ar[i].first; ar[i].second = i+1; } vector<vector<int>> aans; sort(ar, ar+d); int lo = 1, hi = d; while (lo < hi) { ans.clear(); int mid = (lo+hi)/2; if (f(mid)) { hi = mid; aans = ans; } else lo = mid+1; } cout << lo << endl; for (int i = 0; i < aans.size(); i++){ for (int j = 0; j < aans[i].size(); j++){ cout << aans[i][j] << " "; } cout << endl; } for (int i = 0; i < n-aans.size(); i++) cout << 0 << endl; }

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

jobs.cpp: In function 'int main()':
jobs.cpp:71:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |     for (int i = 0; i < aans.size(); i++){
      |                     ~~^~~~~~~~~~~~~
jobs.cpp:72:27: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |         for (int j = 0; j < aans[i].size(); j++){
      |                         ~~^~~~~~~~~~~~~~~~
jobs.cpp:77:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'long long unsigned int' [-Wsign-compare]
   77 |     for (int i = 0; i < n-aans.size(); i++) cout << 0 << endl;
      |                     ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...