Submission #1063573

# Submission time Handle Problem Language Result Execution time Memory
1063573 2024-08-17T20:48:58 Z DeathIsAwe Job Scheduling (CEOI12_jobs) C++14
40 / 100
228 ms 20668 KB
#include <bits/stdc++.h>
using namespace std;


bool schedule(vector<int> requests, int n, int d, int m, int a) {
    bool ans = true;
    int counter;
    for (int i=0;i<n;i++) {
        counter = 0;
        while (counter < a && requests.size() > 0 && requests[requests.size() - 1] < i + 2) {
            counter++;
            if (requests[requests.size() - 1] > i + d + 1) {
                ans = false;
                break;
            }
            requests.pop_back();
        }
        if (!ans) {
            break;
        }
    }
    if (requests.size() > 0) {
        ans = false;
    }
    return ans;
}


int main() {
    int n, d, m; cin >> n >> d >> m;
    vector<int> requests(m);
    vector<vector<int>> requestmapper(n);
    for (int i=0;i<m;i++) {
        cin >> requests[i];
        requestmapper[requests[i]].push_back(i + 1);
    }
    sort(requests.begin(), requests.end(), greater<int>());

    int top = 1000000, bottom = 0, middle;
    while (top > bottom + 1) {
        middle = (top + bottom) / 2;
        if (schedule(requests, n, d, m, middle)) {
            top = middle;
        } else {
            bottom = middle;
        }
    }



    int counter, temp;
    cout << top << '\n';
    for (int i=0;i<n;i++) {
        counter = 0;
        while (counter < top && requests.size() > 0 && requests[requests.size() - 1] < i + 2) {
            if (requests[requests.size() - 1] > i + d + 1) {
                break;
            }
            temp = requests[requests.size() - 1];
            counter++;
            cout << requestmapper[temp][requestmapper[temp].size() - 1] << ' ';
            requestmapper[temp].pop_back();
            requests.pop_back();
        }
        cout << 0 << '\n';
    }
}
# Verdict Execution time Memory Grader output
1 Incorrect 21 ms 2380 KB Output isn't correct
2 Incorrect 20 ms 2452 KB Output isn't correct
3 Incorrect 20 ms 2380 KB Output isn't correct
4 Incorrect 20 ms 2368 KB Output isn't correct
5 Incorrect 24 ms 2368 KB Output isn't correct
6 Incorrect 20 ms 2376 KB Output isn't correct
7 Incorrect 20 ms 2460 KB Output isn't correct
8 Incorrect 19 ms 2380 KB Output isn't correct
9 Incorrect 32 ms 4820 KB Output isn't correct
10 Incorrect 27 ms 4816 KB Output isn't correct
11 Correct 25 ms 2252 KB Output is correct
12 Correct 53 ms 4284 KB Output is correct
13 Correct 74 ms 6844 KB Output is correct
14 Correct 113 ms 9016 KB Output is correct
15 Correct 118 ms 10620 KB Output is correct
16 Correct 179 ms 13484 KB Output is correct
17 Correct 204 ms 15960 KB Output is correct
18 Incorrect 203 ms 17152 KB Output isn't correct
19 Incorrect 228 ms 20668 KB Output isn't correct
20 Correct 200 ms 16028 KB Output is correct