Submission #3582794
Source Code Expand
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.*; public class Main { static int N, M; static int X0, A, P; public static void main(String[] args) { FastScanner sc = new FastScanner(System.in); N = sc.nextInt(); M = sc.nextInt(); X0 = sc.nextInt(); A = sc.nextInt(); P = sc.nextInt(); System.out.println(solve()); } static long solve() { Student[] S = new Student[N*M]; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { int idx = i*M+j; int x = (int)((X0 + ((long)idx*A)) % P); S[idx] = new Student(i, j, x); } } Arrays.sort(S, Comparator.comparingInt(s -> s.x)); boolean[] row = new boolean[M]; PriorityQueue<Student> dq = new PriorityQueue<>( Comparator.comparingInt(s -> s.j) ); long ans = 0; for (int i = 0; i < N; i++) { Arrays.fill(row, false); int rowAns = 0; for (int j = 0; j < M; j++) { Student s = S[i*M+j]; if( s.i == i ) { row[s.j] = true; } else { rowAns += Math.abs(s.i - i); dq.add(s); } } for (int j = 0; j < M; j++) { if( !row[j] ) { Student s = dq.poll(); rowAns += Math.abs(s.j - j); } } ans += rowAns; } return ans; } static class Student { int i, j; // 元の位置 int x; // 成績 public Student(int i, int j, int x) { this.i = i; this.j = j; this.x = x; } int idx() { return i * M + j; } } @SuppressWarnings("unused") static class FastScanner { private BufferedReader reader; private StringTokenizer tokenizer; FastScanner(InputStream in) { reader = new BufferedReader(new InputStreamReader(in)); tokenizer = null; } String next() { if (tokenizer == null || !tokenizer.hasMoreTokens()) { try { tokenizer = new StringTokenizer(reader.readLine()); } catch (IOException e) { throw new RuntimeException(e); } } return tokenizer.nextToken(); } String nextLine() { if (tokenizer == null || !tokenizer.hasMoreTokens()) { try { return reader.readLine(); } catch (IOException e) { throw new RuntimeException(e); } } return tokenizer.nextToken("\n"); } long nextLong() { return Long.parseLong(next()); } int nextInt() { return Integer.parseInt(next()); } int[] nextIntArray(int n) { int[] a = new int[n]; for (int i = 0; i < n; i++) a[i] = nextInt(); return a; } long[] nextLongArray(int n) { long[] a = new long[n]; for (int i = 0; i < n; i++) a[i] = nextLong(); return a; } } }
Submission Info
Submission Time | |
---|---|
Task | C - 席替え |
User | kusomushi |
Language | Java8 (OpenJDK 1.8.0) |
Score | 0 |
Code Size | 3604 Byte |
Status | WA |
Exec Time | 209 ms |
Memory | 29524 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 100 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, case_27.txt, case_28.txt, case_29.txt, case_30.txt, case_31.txt, case_32.txt, case_33.txt, case_34.txt, case_35.txt, case_36.txt, case_37.txt, case_38.txt, case_39.txt, case_40.txt, case_41.txt, case_42.txt, case_43.txt, case_44.txt, case_45.txt, case_46.txt, case_47.txt, case_48.txt, case_49.txt, case_50.txt, case_51.txt, case_52.txt, case_53.txt, case_54.txt, case_55.txt, case_56.txt, case_57.txt, case_58.txt, case_59.txt, case_60.txt, case_61.txt, case_62.txt, case_63.txt, case_64.txt, case_65.txt, case_66.txt, case_67.txt, case_68.txt, case_69.txt, case_70.txt, case_71.txt, case_72.txt, case_73.txt, case_74.txt, case_75.txt, case_76.txt, case_77.txt, case_78.txt, case_79.txt, sample_1.txt, sample_2.txt, sample_3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
case_01.txt | WA | 181 ms | 27988 KB |
case_02.txt | WA | 171 ms | 26580 KB |
case_03.txt | AC | 179 ms | 25552 KB |
case_04.txt | AC | 154 ms | 23764 KB |
case_05.txt | AC | 169 ms | 24020 KB |
case_06.txt | WA | 154 ms | 25172 KB |
case_07.txt | WA | 159 ms | 26068 KB |
case_08.txt | AC | 154 ms | 23636 KB |
case_09.txt | WA | 170 ms | 26324 KB |
case_10.txt | AC | 177 ms | 26452 KB |
case_11.txt | WA | 163 ms | 23376 KB |
case_12.txt | AC | 174 ms | 25296 KB |
case_13.txt | WA | 166 ms | 25812 KB |
case_14.txt | WA | 170 ms | 26708 KB |
case_15.txt | AC | 192 ms | 25812 KB |
case_16.txt | WA | 178 ms | 26196 KB |
case_17.txt | AC | 176 ms | 25684 KB |
case_18.txt | WA | 175 ms | 26708 KB |
case_19.txt | AC | 193 ms | 24276 KB |
case_20.txt | WA | 177 ms | 26324 KB |
case_21.txt | AC | 192 ms | 24276 KB |
case_22.txt | AC | 155 ms | 25428 KB |
case_23.txt | WA | 187 ms | 25940 KB |
case_24.txt | WA | 168 ms | 27472 KB |
case_25.txt | WA | 179 ms | 26580 KB |
case_26.txt | WA | 168 ms | 24276 KB |
case_27.txt | AC | 166 ms | 25296 KB |
case_28.txt | WA | 161 ms | 26580 KB |
case_29.txt | AC | 185 ms | 25552 KB |
case_30.txt | AC | 181 ms | 25556 KB |
case_31.txt | WA | 167 ms | 23636 KB |
case_32.txt | WA | 170 ms | 23632 KB |
case_33.txt | AC | 178 ms | 24276 KB |
case_34.txt | WA | 174 ms | 25044 KB |
case_35.txt | WA | 172 ms | 24020 KB |
case_36.txt | AC | 167 ms | 25940 KB |
case_37.txt | WA | 162 ms | 28372 KB |
case_38.txt | WA | 161 ms | 26580 KB |
case_39.txt | WA | 187 ms | 24276 KB |
case_40.txt | AC | 172 ms | 26580 KB |
case_41.txt | WA | 175 ms | 25684 KB |
case_42.txt | AC | 158 ms | 22484 KB |
case_43.txt | WA | 180 ms | 24660 KB |
case_44.txt | WA | 156 ms | 25684 KB |
case_45.txt | AC | 169 ms | 25044 KB |
case_46.txt | AC | 176 ms | 24532 KB |
case_47.txt | AC | 185 ms | 25288 KB |
case_48.txt | WA | 159 ms | 29524 KB |
case_49.txt | AC | 159 ms | 25812 KB |
case_50.txt | AC | 192 ms | 24404 KB |
case_51.txt | AC | 199 ms | 26068 KB |
case_52.txt | AC | 189 ms | 26708 KB |
case_53.txt | WA | 192 ms | 28244 KB |
case_54.txt | AC | 193 ms | 26068 KB |
case_55.txt | WA | 195 ms | 25940 KB |
case_56.txt | AC | 197 ms | 23892 KB |
case_57.txt | WA | 203 ms | 23764 KB |
case_58.txt | WA | 199 ms | 24148 KB |
case_59.txt | AC | 189 ms | 25428 KB |
case_60.txt | AC | 196 ms | 26708 KB |
case_61.txt | AC | 191 ms | 25680 KB |
case_62.txt | AC | 189 ms | 25940 KB |
case_63.txt | AC | 188 ms | 25812 KB |
case_64.txt | WA | 195 ms | 24148 KB |
case_65.txt | WA | 198 ms | 23124 KB |
case_66.txt | AC | 202 ms | 23948 KB |
case_67.txt | AC | 201 ms | 28604 KB |
case_68.txt | AC | 186 ms | 23252 KB |
case_69.txt | WA | 209 ms | 24364 KB |
case_70.txt | AC | 158 ms | 25684 KB |
case_71.txt | WA | 159 ms | 25556 KB |
case_72.txt | AC | 163 ms | 26068 KB |
case_73.txt | AC | 164 ms | 24272 KB |
case_74.txt | AC | 159 ms | 25172 KB |
case_75.txt | WA | 163 ms | 25684 KB |
case_76.txt | AC | 161 ms | 25684 KB |
case_77.txt | WA | 150 ms | 24788 KB |
case_78.txt | WA | 166 ms | 23636 KB |
case_79.txt | WA | 157 ms | 26452 KB |
sample_1.txt | AC | 163 ms | 26452 KB |
sample_2.txt | AC | 169 ms | 27604 KB |
sample_3.txt | AC | 164 ms | 23508 KB |