답안 #1073244

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1073244 2024-08-24T10:54:00 Z Glitch00 Job Scheduling (CEOI12_jobs) C++17
90 / 100
294 ms 20816 KB
#include <bits/stdc++.h>

#define int long long
#define ll long long
using namespace std;
int dx[8] = {1, 0, -1, 0, -1, 1, -1, 1};
int dy[8] = {0, 1, 0, -1, -1, 1, 1, -1};
int n,d,m;
vector<pair<int,int>>v;

bool can(int md){
    int cnt = 0;
    int day = 1;
    bool ok = 1;
    for(int i=0 ; i<m ; i++){
        if(day<v[i].first)day = v[i].first;
        if(day-v[i].first>d){
            ok = 0;
            break;
        }
        cnt++;
        if(cnt==md)day++,cnt=0;
    }
    if(!ok)return ok;
    if(day<=n || (day==n+1 && cnt==0))return 1;
    return 0;
}

void solve() {
    cin>>n>>d>>m;
    v = vector<pair<int,int>>(m);
    for(int i=0 ; i<m ; i++){
        cin>>v[i].first;
        v[i].second=i+1;
    }
    std::sort(v.begin(), v.end());
    int l =1 , r=1e9;
    int best = -1;
    while(l<=r){
        int md = (l+r)>>1;
        if(can(md)){
            best = md;
            r = md - 1;
        }else l = md + 1;
    }
    int j = 0;
    cout<<best<<endl;
    for(int i=0 ; i<n ; i++){
        for(int w = j ; w<min(j+best,m) ; w++){
            cout<<v[w].second<<" ";
        }
        cout<<0<<endl;
        j+=best;
    }
}

int32_t main() {

    ios_base::sync_with_stdio(false),
            cout.tie(nullptr),
            cin.tie(nullptr);
    int t = 1;
//    cin >> t;
    while (t--) {
        solve();
        cout << endl;
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 24 ms 2396 KB Output is correct
2 Correct 25 ms 2396 KB Output is correct
3 Correct 25 ms 2652 KB Output is correct
4 Correct 24 ms 2392 KB Output is correct
5 Correct 24 ms 2392 KB Output is correct
6 Correct 35 ms 2392 KB Output is correct
7 Correct 29 ms 2392 KB Output is correct
8 Correct 24 ms 2396 KB Output is correct
9 Correct 116 ms 2640 KB Output is correct
10 Correct 122 ms 2652 KB Output is correct
11 Correct 23 ms 2396 KB Output is correct
12 Correct 44 ms 4872 KB Output is correct
13 Correct 63 ms 6996 KB Output is correct
14 Correct 96 ms 9264 KB Output is correct
15 Incorrect 109 ms 11604 KB Output isn't correct
16 Correct 175 ms 13948 KB Output is correct
17 Correct 162 ms 16212 KB Output is correct
18 Correct 190 ms 18360 KB Output is correct
19 Incorrect 294 ms 20816 KB Output isn't correct
20 Correct 175 ms 16208 KB Output is correct