Submission #1088836

#TimeUsernameProblemLanguageResultExecution timeMemory
1088836akamizaneJob Scheduling (CEOI12_jobs)C++17
0 / 100
32 ms65536 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<ll,ll>; #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 = 0; for (int day = 1; day <= n; day++){ for (int j = 0; j < mid; j++){ if (x[cur].fi > day) continue; if (x[cur].fi + d < day) return false; cur++; if (cur == m) return true; } } return true; }; int l = 0, r = m + 1; while(r - l > 1){ int m = (l + r) / 2; if (check(m)) r = m; else l = m; } int cur = 0; bool f = false; for (int day = 1; day <= n; day++){ vector<int> u; for (int j = 0; j < r && cur < m; j++){ if (x[cur].fi > day) continue; u.pb(x[cur].se); cur++; if (cur == m) break; } u.pb(0); ans.pb(u); } 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 'void solve()':
jobs.cpp:55:8: warning: unused variable 'f' [-Wunused-variable]
   55 |   bool f = false;
      |        ^
jobs.cpp: In function 'int32_t main()':
jobs.cpp:77:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   77 |   freopen("input.txt", "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
jobs.cpp:78:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   78 |   freopen("output.txt", "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
jobs.cpp:79:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   79 |   freopen("debug.txt", "w", stderr);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...