답안 #1074865

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1074865 2024-08-25T15:39:03 Z mnbvcxz123 Job Scheduling (CEOI12_jobs) C++17
100 / 100
260 ms 21444 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 21 ms 2500 KB Output is correct
2 Correct 21 ms 2512 KB Output is correct
3 Correct 20 ms 2492 KB Output is correct
4 Correct 21 ms 2600 KB Output is correct
5 Correct 21 ms 2508 KB Output is correct
6 Correct 21 ms 2500 KB Output is correct
7 Correct 21 ms 2504 KB Output is correct
8 Correct 21 ms 2512 KB Output is correct
9 Correct 28 ms 2764 KB Output is correct
10 Correct 28 ms 2764 KB Output is correct
11 Correct 28 ms 2644 KB Output is correct
12 Correct 57 ms 4804 KB Output is correct
13 Correct 87 ms 8128 KB Output is correct
14 Correct 122 ms 9660 KB Output is correct
15 Correct 140 ms 11576 KB Output is correct
16 Correct 183 ms 15024 KB Output is correct
17 Correct 215 ms 17080 KB Output is correct
18 Correct 229 ms 18496 KB Output is correct
19 Correct 260 ms 21444 KB Output is correct
20 Correct 214 ms 17840 KB Output is correct