제출 #377665

#제출 시각아이디문제언어결과실행 시간메모리
377665vishesh312Job Scheduling (CEOI12_jobs)C++17
100 / 100
348 ms13932 KiB
#include "bits/stdc++.h" using namespace std; /* #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; using ordered_set = tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>; */ #define all(x) begin(x), end(x) #define sz(x) (int)x.size() using ll = long long; const int mod = 1e9+7; vector<array<int, 2>> v; int n, m, d; bool chk(int x) { int k = 0; for (int i = 1; i <= n; ++i) { for (int j = 0; j < x and k < m; ++j) { if (i > v[k][0] + d) return false; if (i >= v[k][0]) ++k; else break; } } return 1; } void solve(int tc) { cin >> n >> d >> m; v.resize(m); for (int i = 0; i < m; ++i) { cin >> v[i][0]; v[i][1] = i; } sort(all(v)); int lo = 1, hi = m+1; int ans; while (lo < hi) { int mid = lo + (hi - lo) / 2; // cout << "mid : " << mid << '\n'; if (chk(mid)) { ans = mid; hi = mid; } else lo = mid + 1; } cout << ans << '\n'; int x = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < ans and x < m; ++j) { cout << v[x++][1] + 1 << " "; } cout << "0\n"; } } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int tc = 1; //cin >> tc; for (int i = 1; i <= tc; ++i) solve(i); return 0; }

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

jobs.cpp: In function 'void solve(int)':
jobs.cpp:39:9: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   39 |     int ans;
      |         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...