Submission #4068620


Source Code Expand

import java.io.*;
import  java.util.*;

import static java.lang.System.in;

class Main{
    static HashMap<Integer,Integer>[] rec;
    static int[] count;
    static int n,m;
    public static void main(String[] args)throws IOException{
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt(); m = sc.nextInt();
        count = new int[m];
        rec = new HashMap[m];
        for(int i=0;i<m;i++) rec[i]=new HashMap<>();
        for(int i=0;i<n;i++){
            int x = sc.nextInt();
            int pos = x%m;
            count[pos]++;
            rec[pos].put(x,rec[pos].getOrDefault(x,0)+1);
        }
        int ans = 0;
        for(int i=1;i<=(m-1)/2;i++){
            ans += help(i);
        }
        ans += count[0]/2;
        if(m%2==0) ans += count[m/2]/2;
        System.out.println(ans);
    }
    static int help(int i){
        int j = m-i;
        if(count[i]==count[j]) return count[i];
        int remain = Math.abs(count[i]-count[j]);
        HashMap<Integer,Integer> map = count[i]<count[j]?rec[j]:rec[i];
        int ans = Math.min(count[i],count[j]);
        for(int w:map.keySet()){
            if(remain==0) break;
            int cur = Math.min(remain,map.get(w))/2;
            ans += cur;
            remain -= cur*2;
        }
        return ans;
    }
}

Submission Info

Submission Time
Task D - Pair Cards
User AlbertZ
Language Java8 (OpenJDK 1.8.0)
Score 700
Code Size 1344 Byte
Status AC
Exec Time 546 ms
Memory 81468 KB

Compile Error

Note: ./Main.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Judge Result

Set Name sample all
Score / Max Score 0 / 0 700 / 700
Status
AC × 2
AC × 34
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 100 ms 19796 KB
01-02.txt AC 540 ms 60452 KB
01-03.txt AC 516 ms 61796 KB
01-04.txt AC 511 ms 62352 KB
01-05.txt AC 521 ms 61172 KB
01-06.txt AC 506 ms 60852 KB
01-07.txt AC 523 ms 58956 KB
01-08.txt AC 484 ms 59972 KB
01-09.txt AC 543 ms 61904 KB
01-10.txt AC 503 ms 65072 KB
01-11.txt AC 512 ms 72312 KB
01-12.txt AC 433 ms 46304 KB
01-13.txt AC 461 ms 60200 KB
01-14.txt AC 510 ms 60184 KB
01-15.txt AC 479 ms 65044 KB
01-16.txt AC 546 ms 64068 KB
01-17.txt AC 483 ms 61672 KB
01-18.txt AC 527 ms 63336 KB
01-19.txt AC 499 ms 64472 KB
01-20.txt AC 496 ms 81468 KB
01-21.txt AC 472 ms 47628 KB
01-22.txt AC 457 ms 47820 KB
01-23.txt AC 436 ms 50576 KB
01-24.txt AC 466 ms 60248 KB
01-25.txt AC 512 ms 62144 KB
01-26.txt AC 469 ms 64060 KB
01-27.txt AC 400 ms 60728 KB
01-28.txt AC 175 ms 32096 KB
01-29.txt AC 131 ms 22228 KB
01-30.txt AC 126 ms 26708 KB
sample-01.txt AC 100 ms 20820 KB
sample-02.txt AC 100 ms 20308 KB