Submission #744040

# Submission time Handle Problem Language Result Execution time Memory
744040 2023-05-18T07:31:51 Z Fnzx Job Scheduling (CEOI12_jobs) C++17
55 / 100
37 ms 14672 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 ;
            cnt = 0 ;
        }
        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 = 0 ;

    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 15 ms 5972 KB Output is correct
2 Correct 15 ms 5920 KB Output is correct
3 Correct 15 ms 5972 KB Output is correct
4 Correct 17 ms 5972 KB Output is correct
5 Correct 18 ms 5952 KB Output is correct
6 Correct 17 ms 5972 KB Output is correct
7 Correct 16 ms 5972 KB Output is correct
8 Correct 15 ms 5972 KB Output is correct
9 Correct 27 ms 8784 KB Output is correct
10 Correct 29 ms 8612 KB Output is correct
11 Correct 37 ms 14672 KB Output is correct
12 Incorrect 9 ms 4160 KB Output isn't correct
13 Incorrect 8 ms 4180 KB Output isn't correct
14 Incorrect 9 ms 4436 KB Output isn't correct
15 Incorrect 8 ms 4312 KB Output isn't correct
16 Incorrect 11 ms 5112 KB Output isn't correct
17 Incorrect 11 ms 4436 KB Output isn't correct
18 Incorrect 12 ms 4180 KB Output isn't correct
19 Incorrect 8 ms 4244 KB Output isn't correct
20 Incorrect 10 ms 4436 KB Output isn't correct