Submission #1432781
Source Code Expand
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { new Main().run(); } public void run() { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] lis = new int[(int) 1e5 + 1]; for (int i = 0; i < n; ++i) { int x = sc.nextInt(); ++lis[x]; } int[] c2 = new int[m]; int[] c1 = new int[m]; for (int i = 0; i < lis.length; ++i) { c2[i % m] += lis[i] / 2 * 2; c1[i % m] += lis[i] % 2; } for (int i = 0; i <= m / 2; ++i) { int j = (m - i) % m; if (i == j) { c2[i] += c1[i] / 2 * 2; c1[i] %= 2; continue; } int tmp = Math.min(c1[i], c1[j]); c1[i] -= tmp; c1[j] -= tmp; if (c1[i] > c1[j]) { tmp = c1[i]; c1[i] = c1[j]; c1[j] = tmp; tmp = c2[i]; c2[i] = c2[j]; c2[j] = tmp; } tmp = Math.min(c2[i], c1[j] / 2 * 2); c1[j] -= tmp; c2[i] -= tmp; } int ans = 0; for (int v : c1) { ans += v; } if ((n - ans) % 2 == 1) { throw new AssertionError(); } System.out.println((n - ans) / 2); } void tr(Object... objects) { System.out.println(Arrays.deepToString(objects)); } }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | fortoobye |
Language | Java8 (OpenJDK 1.8.0) |
Score | 700 |
Code Size | 1242 Byte |
Status | AC |
Exec Time | 448 ms |
Memory | 52124 KB |
Judge Result
Set Name | sample | all | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt |
all | sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, sample-01.txt, sample-02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 101 ms | 20820 KB |
01-02.txt | AC | 419 ms | 48152 KB |
01-03.txt | AC | 438 ms | 45856 KB |
01-04.txt | AC | 400 ms | 46888 KB |
01-05.txt | AC | 425 ms | 46184 KB |
01-06.txt | AC | 417 ms | 48336 KB |
01-07.txt | AC | 411 ms | 47896 KB |
01-08.txt | AC | 400 ms | 50996 KB |
01-09.txt | AC | 431 ms | 46260 KB |
01-10.txt | AC | 414 ms | 48152 KB |
01-11.txt | AC | 394 ms | 45472 KB |
01-12.txt | AC | 410 ms | 48920 KB |
01-13.txt | AC | 407 ms | 47732 KB |
01-14.txt | AC | 433 ms | 48520 KB |
01-15.txt | AC | 397 ms | 50404 KB |
01-16.txt | AC | 426 ms | 50308 KB |
01-17.txt | AC | 414 ms | 48600 KB |
01-18.txt | AC | 426 ms | 46368 KB |
01-19.txt | AC | 414 ms | 47276 KB |
01-20.txt | AC | 431 ms | 44548 KB |
01-21.txt | AC | 431 ms | 49808 KB |
01-22.txt | AC | 400 ms | 47428 KB |
01-23.txt | AC | 411 ms | 52124 KB |
01-24.txt | AC | 409 ms | 51808 KB |
01-25.txt | AC | 448 ms | 44916 KB |
01-26.txt | AC | 398 ms | 46668 KB |
01-27.txt | AC | 353 ms | 46712 KB |
01-28.txt | AC | 155 ms | 27336 KB |
01-29.txt | AC | 140 ms | 25604 KB |
01-30.txt | AC | 111 ms | 21460 KB |
sample-01.txt | AC | 96 ms | 21076 KB |
sample-02.txt | AC | 95 ms | 20564 KB |