답안 #1058462

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1058462 2024-08-14T10:05:52 Z Malix Job Scheduling (CEOI12_jobs) C++14
100 / 100
229 ms 17840 KB
#include <bits/stdc++.h>
using namespace std;
 
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vii;
typedef pair<int,int> pi;
typedef vector<pi> pii;
typedef tuple<int,int,int> tii;
typedef vector<ll> li;
typedef vector<li> lii;
 
#define REP(i,a,b) for(int i=a;i<b;i++)
#define F first
#define S second
#define PB push_back
#define MP make_pair
#define LSOne(s) ((s)&(-s))
 
ll INF=1e18+10;
int inf=1e9+10;
ll M=1e9+7;

vi a;
pii arr;
int n,d,m;

int BS(int l,int r){
    if(l==r)return l;
    int t=(l+r)/2;
    int k=0;int p=1;
    bool flag=1;
    REP(i,0,m){
        if(arr[i].F>p){
            k=0;p=arr[i].F;
        }
        k++;
        if(arr[i].F+d<p){
            flag=0;
            break;
        }
        if(k==t&&i!=m-1){
            k=0;p++;
        }
    }
    if(p>n)flag=0;
    if(flag)return BS(l,t);
    else return BS(t+1,r);
}

int main() {   
    cin>>n>>d>>m;
    a.resize(m);
    REP(i,0,m)cin>>a[i];
    REP(i,0,m)arr.PB({a[i],i+1});
    sort(arr.begin(),arr.end());
    int ans=BS(1,m);
    cout<<ans<<"\n";
    int pos=0;int x=0;
    REP(i,0,n){
        while(pos<m&&x<ans){
            cout<<arr[pos].S<<" ";
            pos++;x++;
        }
        cout<<"0\n";
        x=0;
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 18 ms 2256 KB Output is correct
2 Correct 17 ms 2232 KB Output is correct
3 Correct 18 ms 2244 KB Output is correct
4 Correct 23 ms 2256 KB Output is correct
5 Correct 17 ms 2256 KB Output is correct
6 Correct 19 ms 2508 KB Output is correct
7 Correct 18 ms 2192 KB Output is correct
8 Correct 18 ms 2264 KB Output is correct
9 Correct 23 ms 2508 KB Output is correct
10 Correct 23 ms 2516 KB Output is correct
11 Correct 24 ms 2284 KB Output is correct
12 Correct 49 ms 4036 KB Output is correct
13 Correct 71 ms 6848 KB Output is correct
14 Correct 102 ms 7724 KB Output is correct
15 Correct 142 ms 9656 KB Output is correct
16 Correct 151 ms 11964 KB Output is correct
17 Correct 178 ms 15292 KB Output is correct
18 Correct 201 ms 16052 KB Output is correct
19 Correct 229 ms 17840 KB Output is correct
20 Correct 186 ms 13748 KB Output is correct