Submission #744042

# Submission time Handle Problem Language Result Execution time Memory
744042 2023-05-18T07:33:37 Z vjudge1 Job Scheduling (CEOI12_jobs) C++17
55 / 100
58 ms 14668 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 ;
        }
    }

    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 17 ms 5972 KB Output is correct
2 Correct 18 ms 5972 KB Output is correct
3 Correct 17 ms 5972 KB Output is correct
4 Correct 16 ms 5888 KB Output is correct
5 Correct 15 ms 5972 KB Output is correct
6 Correct 16 ms 5908 KB Output is correct
7 Correct 17 ms 5972 KB Output is correct
8 Correct 16 ms 5992 KB Output is correct
9 Correct 30 ms 8864 KB Output is correct
10 Correct 30 ms 8640 KB Output is correct
11 Correct 58 ms 14668 KB Output is correct
12 Incorrect 9 ms 4240 KB Output isn't correct
13 Incorrect 10 ms 4180 KB Output isn't correct
14 Incorrect 10 ms 4436 KB Output isn't correct
15 Incorrect 11 ms 4264 KB Output isn't correct
16 Incorrect 12 ms 5076 KB Output isn't correct
17 Incorrect 13 ms 4436 KB Output isn't correct
18 Incorrect 9 ms 4180 KB Output isn't correct
19 Incorrect 9 ms 4180 KB Output isn't correct
20 Incorrect 11 ms 4504 KB Output isn't correct