Submission #743991

# Submission time Handle Problem Language Result Execution time Memory
743991 2023-05-18T07:02:09 Z vjudge1 Job Scheduling (CEOI12_jobs) C++17
55 / 100
43 ms 15848 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++){
        sort(ans2[i].begin() , ans2[i].end());
        for(int x : ans2[i]){
            cout << x << " " ;
        }
        cout << "0\n" ;
    }
}

# Verdict Execution time Memory Grader output
1 Correct 21 ms 6148 KB Output is correct
2 Correct 20 ms 6100 KB Output is correct
3 Correct 23 ms 6124 KB Output is correct
4 Correct 22 ms 6068 KB Output is correct
5 Correct 24 ms 6100 KB Output is correct
6 Correct 20 ms 6100 KB Output is correct
7 Correct 21 ms 6100 KB Output is correct
8 Correct 20 ms 6052 KB Output is correct
9 Correct 33 ms 9444 KB Output is correct
10 Correct 37 ms 9000 KB Output is correct
11 Correct 43 ms 15848 KB Output is correct
12 Incorrect 8 ms 4484 KB Output isn't correct
13 Incorrect 10 ms 4308 KB Output isn't correct
14 Incorrect 15 ms 4864 KB Output isn't correct
15 Incorrect 9 ms 4548 KB Output isn't correct
16 Incorrect 13 ms 5324 KB Output isn't correct
17 Incorrect 11 ms 4744 KB Output isn't correct
18 Incorrect 10 ms 4436 KB Output isn't correct
19 Incorrect 14 ms 4476 KB Output isn't correct
20 Incorrect 11 ms 4812 KB Output isn't correct