Submission #743980

# Submission time Handle Problem Language Result Execution time Memory
743980 2023-05-18T06:57:15 Z vjudge1 Job Scheduling (CEOI12_jobs) C++17
55 / 100
44 ms 15724 KB
#include<bits/stdc++.h>

using namespace std;

using ll = long long ;
using pii = pair<ll , ll> ;
using i3 = tuple<ll , ll , ll> ;

const int N = 1e5+5 ;
const int MOD = 1e9+7 ;

ll n , d , m ;
pii S[N] ;

vector<ll> ans2[N] ;

bool solve(ll mid){

    ll day = 1 , cnt = 0 ;
    for(int i=1;i<=m;i++){
        if(day < S[i].first) day = S[i].first ;
        if(day <= S[i].first + d){ // do job i-th
            cnt++ ;
            ans2[day].push_back(S[i].second) ;
        }
        else {
            return false ;
        }
        if(cnt == mid){
            day++;
            cnt = 0 ;
        }
    }

    if(cnt == 0) day--;

    return day <= n ;
}

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);

    cin >> n >> d >> m ;
    for(int i=1, x;i<=m;i++){
        cin >> x ;
        S[i] = {x , i};
    }

    sort(S+1 , S+m+1) ;

    ll l = 1 , r = m , ans ;

    while(l <= r){
        ll mid = (l+r)/2 ;

        if(solve(mid)){
            r = mid-1 ;
            ans = mid ;
        }
        else {
            l = mid+1 ;
            for(int i=1;i<=n;i++) ans2[i].clear();
        }
    }

    cout << ans << "\n" ;
    for(int i=1;i<=n;i++){
        for(int x : ans2[i]){
            cout << x << " " ;
        }
        cout << "0\n" ;
    }
}

# Verdict Execution time Memory Grader output
1 Correct 20 ms 6100 KB Output is correct
2 Correct 20 ms 6100 KB Output is correct
3 Correct 20 ms 6080 KB Output is correct
4 Correct 21 ms 6076 KB Output is correct
5 Correct 23 ms 6264 KB Output is correct
6 Correct 25 ms 6100 KB Output is correct
7 Correct 21 ms 6100 KB Output is correct
8 Correct 22 ms 6104 KB Output is correct
9 Correct 37 ms 9480 KB Output is correct
10 Correct 38 ms 8896 KB Output is correct
11 Correct 44 ms 15724 KB Output is correct
12 Incorrect 10 ms 4408 KB Output isn't correct
13 Incorrect 10 ms 4436 KB Output isn't correct
14 Incorrect 14 ms 4740 KB Output isn't correct
15 Incorrect 11 ms 4448 KB Output isn't correct
16 Incorrect 11 ms 5312 KB Output isn't correct
17 Incorrect 13 ms 4692 KB Output isn't correct
18 Incorrect 8 ms 4424 KB Output isn't correct
19 Incorrect 10 ms 4484 KB Output isn't correct
20 Incorrect 10 ms 4684 KB Output isn't correct