제출 #1330085

#제출 시각아이디문제언어결과실행 시간메모리
1330085AgageldiJob Scheduling (CEOI12_jobs)C++20
100 / 100
179 ms20928 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define N 1000005
#define ff first
#define ss second

const int inf = 1e18;

int n, m, t;
pair <int,int> a[N];

int32_t main() {
    ios::sync_with_stdio(0);cin.tie(0);
    cin >> n >> m >> t;
    for(int i = 1; i <= t; i++) {
        cin >> a[i].ff;
        a[i].ss = i;
    }
    sort(a + 1, a + t + 1);
    int l = 1, r = 1e5, jog = 0;
    while(l <= r) {
        int mid = (l + r) / 2, ind = 1;
        for(int i = 1; i <= n; i++) {
            int op = mid;
            while(ind <= t && op > 0 && i >= a[ind].ff && a[ind].ff + m >= i) {
                op--;
                ind++;
            }
        }
        if(ind <= t) l = mid + 1;
        else r = mid - 1, jog = mid;
    }
    cout << jog << endl;
    int ind = 1;
    for(int i = 1; i <= n; i++) {
        int op = jog;
        while(op > 0 && ind <= t && i >= a[ind].ff && a[ind].ff + m >= i) {
            cout << a[ind].ss << " ";
            ind++;
            op--;
        }
        cout <<false << '\n';
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...