제출 #535376

#제출 시각아이디문제언어결과실행 시간메모리
535376PyrodoxJob Scheduling (CEOI12_jobs)C++17
0 / 100
340 ms7408 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; /*bool cmp(const vector<ll>& a, const vector<ll>& b) { return a[0] < b[0]; }*/ int main() { ll n, d, m; //ios::sync_with_stdio(false); //cin.tie(nullptr); cin >> n >> d >> m; vector<ll> jobs(m); map<ll, ll> mp; for (ll i = 1; i <= m; ++i) { ll a; cin >> a; jobs[i - 1] = a; mp[a] = i; } sort(jobs.begin(), jobs.end()); vector<vector<ll>> ans; //ll l = 1, r = m; /*while (l < r) { ll mid = l + (r - l) / 2, start = 0; //cout << "testing mid: " << mid << "\n"; bool check = true; vector<vector<ll>> jobstmp(n); for (ll i = 0; i < n && check; ++i) { //cout << i << "\n"; for (ll j = 0; j < mid && start <= m - 1; ++j) { //cout << "bat\n"; if (jobs[start][0] <= i + 1 && i + 1 - jobs[start][0] <= d) { jobstmp[i].push_back(jobs[start][1]); ++start; //cout << "at\n"; } else if (i + 1 - jobs[start][0] > d) { check = false; break; } else { break; } } jobstmp[i].push_back(0); } for (auto val : jobstmp) { for (ll i : val) { cout << i << " "; } cout << "\n"; } //cout << "start: " << start << " check: " << "\n"; if (check && start == m) { //cout << "r from " << r << " to r -> " << mid << "\n"; r = mid; ans = jobstmp; } else { //cout << "l from " << l << " to l -> " << mid << " + 1\n"; l = mid + 1; } }*/ /*cout << l << "\n"; for (auto i : ans) { for (ll j = 0; j < i.size() - 1; ++j) { cout << i[j] << " "; } cout << i[i.size() - 1] << "\n"; }*/ }
#Verdict Execution timeMemoryGrader output
Fetching results...