Submission #1088828

#TimeUsernameProblemLanguageResultExecution timeMemory
1088828akamizaneJob Scheduling (CEOI12_jobs)C++14
0 / 100
354 ms65536 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int,int>; #define int long long #define el cout << '\n' #define fi first #define se second #define pb push_back #define all(x) x.begin(), x.end() #define FOR(i, a, b) for (int i = (a); i <= (b); i++) #define FOD(i, a, b) for (int i = (a); i >= (b); i--) #define REP(i, n) for (int i = 0; i < (n); i++) template <class T1, class T2>void chmax(T1 &a, T2 b){a = max(a, b);} template <class T1, class T2>void chmin(T1 &a, T2 b){a = min(a, b);} mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int maxn = 2e5 + 5; const ll mod = 998244353; void solve(){ int n, d, m; cin >> n >> d >> m; vector<pii> x(m); REP(i, m){ cin >> x[i].fi; x[i].se = i + 1; } sort(all(x)); vector<vector<int>> ans; auto check = [&] (int mid){ int cur = 1; for (int i = 0; i < m; i += mid){ if (cur > x[i].fi + d) return false; cur++; } return true; }; int l = 0, r = m; while(r - l > 1){ int m = (l + r) / 2; if (check(m)) r = m; else l = m; } for (int i = 0; i < m; i += r){ vector<int> u; for (int j = i; j < i + r && j < m; j++){ u.pb(x[j].se); } u.pb(0); ans.pb(u); } for (int i = 0; i < d; i++) ans.pb({0}); cout << r << '\n'; for (auto u : ans){ for (auto v : u) cout << v << " "; cout << '\n'; } } int32_t main() { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); freopen("debug.txt", "w", stderr); #endif ios_base::sync_with_stdio(false); cin.tie(NULL); int tests = 1; //cin >> tests; for (int itest = 1; itest <= tests; itest++){ cerr << "- TEST " << itest << ": \n"; solve(); el; } return 0; }

Compilation message (stderr)

jobs.cpp: In function 'int32_t main()':
jobs.cpp:69:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   69 |   freopen("input.txt", "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
jobs.cpp:70:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   70 |   freopen("output.txt", "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
jobs.cpp:71:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   71 |   freopen("debug.txt", "w", stderr);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...