Submission #1312006

#TimeUsernameProblemLanguageResultExecution timeMemory
1312006quacksireJob Scheduling (CEOI12_jobs)Java
0 / 100
915 ms131072 KiB
import java.util.*; public class jobs{ static class Job implements Comparable<Job>{ int pos; int index; public Job(int pos,int index){ this.pos=pos; this.index=index; } public int compareTo(Job other){ return this.pos-other.pos; } } static boolean work(int num,int d,Job[]array){ for(int i=0;i<array.length/num;i++){ if(array[i*num].pos+d<i) return false; } return true; } public static void main(String[]args){ Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int d=scan.nextInt(); int m=scan.nextInt(); Job[]array=new Job[m]; for(int i=0;i<m;i++){ array[i]=new Job(scan.nextInt()-1,i+1); } Arrays.sort(array); int l=1; int r=m; while(l<=r){ int mid=(l+r)/2; if(work(mid,d,array)) r=mid-1; else l=mid+1; } System.out.println(l); for(int i=0;i<m;i++){ System.out.print(array[i].index+" "); if((i+1)%l==0) System.out.println("0"); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...