Submission #7933976


Source Code Expand

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<ll, ll> P;
constexpr ll MOD = ll(1e9+7);
constexpr int MAX_X = 1e5+5;

int main(){
    int n, m;
    cin >> n >> m;
    vector<int> cnt(MAX_X,0), ev(m,0), od(m,0);
    for(int i=0;i<n;i++){
        int x;
        cin >> x;
        cnt[x]++;
    }
    for(int i=0;i<MAX_X;i++){
        od[i%m] += cnt[i]&1;
        ev[i%m] += cnt[i]-cnt[i]%2;
    }
    int ans = 0;
    for(int i=0;i<m;i++){
        int j = (m-i%m)%m;
        if(i != j){
            int k = min(od[i]+ev[i], od[j]+ev[j]);
            ans += k;
            if(od[i] < k){
                ev[i] -= k-od[i];
                od[i] = 0;
            }
            else{
                od[i] -= k;
            }
            if(od[j] < k){
                ev[j] -= k-od[j];
                od[j] = 0;
            }
            else{
                od[j] -= k;
            }
        }
        else{
            ans += (od[i]+ev[i])/2;
            od[i] = 0;
            ev[i] = 0;
        }
    }
    for(int i=0;i<m;i++){
        ans += ev[i]/2;
    }
    cout << ans << endl;
    return 0;
}

Submission Info

Submission Time
Task D - Pair Cards
User NOSS
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1187 Byte
Status AC
Exec Time 32 ms
Memory 1408 KB

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 2 ms 640 KB
01-02.txt AC 30 ms 640 KB
01-03.txt AC 30 ms 640 KB
01-04.txt AC 30 ms 640 KB
01-05.txt AC 30 ms 640 KB
01-06.txt AC 30 ms 768 KB
01-07.txt AC 30 ms 640 KB
01-08.txt AC 30 ms 640 KB
01-09.txt AC 30 ms 640 KB
01-10.txt AC 31 ms 896 KB
01-11.txt AC 32 ms 1408 KB
01-12.txt AC 30 ms 640 KB
01-13.txt AC 31 ms 1024 KB
01-14.txt AC 30 ms 640 KB
01-15.txt AC 30 ms 640 KB
01-16.txt AC 30 ms 640 KB
01-17.txt AC 30 ms 640 KB
01-18.txt AC 30 ms 640 KB
01-19.txt AC 30 ms 768 KB
01-20.txt AC 32 ms 1408 KB
01-21.txt AC 30 ms 640 KB
01-22.txt AC 30 ms 640 KB
01-23.txt AC 30 ms 640 KB
01-24.txt AC 30 ms 640 KB
01-25.txt AC 30 ms 896 KB
01-26.txt AC 32 ms 1408 KB
01-27.txt AC 18 ms 1408 KB
01-28.txt AC 5 ms 1408 KB
01-29.txt AC 3 ms 896 KB
01-30.txt AC 4 ms 1408 KB
sample-01.txt AC 4 ms 640 KB
sample-02.txt AC 2 ms 640 KB