Submission #1063572

# Submission time Handle Problem Language Result Execution time Memory
1063572 2024-08-17T20:47:17 Z DeathIsAwe Job Scheduling (CEOI12_jobs) C++14
40 / 100
238 ms 24040 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) {
            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 2636 KB Output isn't correct
2 Incorrect 20 ms 2624 KB Output isn't correct
3 Incorrect 21 ms 2624 KB Output isn't correct
4 Incorrect 20 ms 2636 KB Output isn't correct
5 Incorrect 21 ms 2632 KB Output isn't correct
6 Incorrect 20 ms 2636 KB Output isn't correct
7 Incorrect 20 ms 2624 KB Output isn't correct
8 Incorrect 20 ms 2636 KB Output isn't correct
9 Incorrect 28 ms 5252 KB Output isn't correct
10 Incorrect 29 ms 5068 KB Output isn't correct
11 Correct 24 ms 2760 KB Output is correct
12 Correct 48 ms 5080 KB Output is correct
13 Correct 71 ms 7976 KB Output is correct
14 Correct 114 ms 11056 KB Output is correct
15 Correct 118 ms 12712 KB Output is correct
16 Correct 205 ms 16252 KB Output is correct
17 Correct 199 ms 19356 KB Output is correct
18 Incorrect 190 ms 19736 KB Output isn't correct
19 Incorrect 224 ms 24040 KB Output isn't correct
20 Correct 238 ms 19348 KB Output is correct