제출 #157713

#제출 시각아이디문제언어결과실행 시간메모리
157713a_playerJob Scheduling (CEOI12_jobs)C++14
60 / 100
824 ms10360 KiB
#include <bits/stdc++.h>

using namespace std;

int N,M,D;
int s[1000001];
bool check(int T){
  if(T>=M)return true;
  if(T==0)return false;
  int j=0;
    for(int i=0;i<M;i++){
      if(i%T==0)j++;
      j=max(j,s[i]);
      if(s[i]+D<j)return false;
    }
     return true;
}
int main(){
  cin>>N>>D>>M;
  for(int i=0;i<M;i++)cin>>s[i];
  sort(s,s+M);
  int x=-1;
  for(int b=M;b>=1;b/=2)
  while(!check(x+b))x+=b;

  cout<<x+1<<endl;
  for(int i=0;i<N;i++){
    for(int z=i*(x+1);z<M&&z<(i+1)*(x+1);z++)cout<<z+1<<" ";
    cout<<0<<endl;
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...