Submission #850302

#TimeUsernameProblemLanguageResultExecution timeMemory
850302srivatsav_kannanJob Scheduling (CEOI12_jobs)C++14
85 / 100
255 ms38848 KiB
#include <iostream> #include <iomanip> #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> #include <unordered_map> #include <unordered_set> #include <complex> //#include <bits/stdc++.h> #define int long long int #define double long double #define endl '\n' #define mod 1000000007 #define inf 2000000000000000000 using namespace std; //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> //using namespace __gnu_pbds; //#define ordered_set tree < int , null_type , less , rb_tree_tag , tree_order_statistics_node_update> const int mxm = 1000001; pair<int,int> ar[mxm]; int n,d,m; vector<int> ans[100001]; bool f(int mid){ for (int i = 1; i <= n; i++) ans[i].clear(); int day = 1; int used = 0; for (int i = 0; i < m; i++){ if (day > n) return false; used++; day = max(day, ar[i].first); ans[day].push_back(ar[i].second); if (day-ar[i].first > d || day > n) return false; if (used == mid) { used = 0; day++; } } return true; } void solve(){ cin >> n >> d >> m; for (int i = 0; i < m; i++) { cin >> ar[i].first; ar[i].second = i+1; } sort(ar, ar+m); int l = 1, r = m; while (l < r) { int mid = (l+r)/2; if (f(mid)) r = mid; else l = mid+1; } cout << l << endl; f(l); for (int i = 1; i <= n; i++){ for (int j = 0; j < ans[i].size(); j++){ cout << ans[i][j] << " "; } cout << 0 << endl; } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // freopen("swap.in", "r", stdin); // freopen("swap.out", "w", stdout); int t = 1; //cin >> t; while (t--) { solve(); } return 0; }

Compilation message (stderr)

jobs.cpp: In function 'void solve()':
jobs.cpp:70: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]
   70 |         for (int j = 0; j < ans[i].size(); j++){
      |                         ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...