제출 #1138375

#제출 시각아이디문제언어결과실행 시간메모리
1138375mrsmartypantsJob Scheduling (CEOI12_jobs)Java
컴파일 에러
0 ms0 KiB
import java.io.*; import java.util.*; public class Main { static ArrayList<ArrayList<Integer>> schedule = new ArrayList<>(); static int N, D, M; public static void main(String... args) throws IOException { BufferedReader reader = new BufferedReader(new FileReader("input.in")); // BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); StringTokenizer st = new StringTokenizer(reader.readLine()); N = Integer.parseInt(st.nextToken()); D = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); st = new StringTokenizer(reader.readLine()); Request[] jobs = new Request[M]; for (int i = 0; i < M; i++) { jobs[i] = new Request(i + 1, Integer.parseInt(st.nextToken())); } Arrays.sort(jobs, Comparator.comparingInt(j -> j.day)); int lo = 1; int hi = M + 1; while (lo < hi) { int mid = lo + (hi - lo) / 2; Return r = test(mid, jobs); if (r.worked) { hi = mid; schedule = r.schedule; } else { lo = mid + 1; } } while (schedule.size() < N) { schedule.add(new ArrayList<>()); } writer.println(lo); for (int i = 0; i < N; i++) { for (int idx : schedule.get(i)) writer.print(idx + " "); writer.println(0); } writer.close(); } static Return test(int numMachines, Request[] jobs) { ArrayList<ArrayList<Integer>> schedule = new ArrayList<>(); int reqNum = 0; for (int day = 1; day <= N; day++) { schedule.add(new ArrayList<>()); for (int j = 0; j < numMachines; j++) { if (jobs[reqNum].day > day) break; if (jobs[reqNum].day + D >= day) { schedule.get(day - 1).add(jobs[reqNum++].id); } else { return new Return(false, schedule); } if (reqNum == M) return new Return(true, schedule); } } return new Return(false, schedule); } static class Return { boolean worked; ArrayList<ArrayList<Integer>> schedule; public Return(boolean worked, ArrayList<ArrayList<Integer>> schedule) { this.worked = worked; this.schedule = schedule; } } static class Request { int id; int day; public Request(int id, int day) { this.id = id; this.day = day; } } }

컴파일 시 표준 에러 (stderr) 메시지

jobs.java:4: error: class Main is public, should be declared in a file named Main.java
public class Main {
       ^
1 error

=======