Submission #7939429


Source Code Expand

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

#define rep(i, j) for (int i = 0; i < j; i++)
#define all(obj) (obj).begin(), (obj).end()
#define rall(obj) (obj).rbegin(), (obj).rend()
typedef long long int ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vi> vvi;
typedef vector<pii> vpii;

int main() {

    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.precision(10);
    cout << fixed;

    int n, m;
    cin >> n >> m;

    map<int, int> mp;
    rep(i, n) {
        int x;
        cin >> x;
        mp[x]++;
    }

    map<int, int> mpe, mpo;
    for (auto& p: mp) {
        mpe[p.first % m] += p.second - p.second % 2;
        if (p.second % 2 > 0) mpo[p.first % m]++;
    }

    ll ans = mpe[0] / 2;
    if (m % 2 == 0) {
        ans += mpe[m / 2] / 2;
    }

    for (int i = 1; i <= (m - 1) / 2; i++) {
        if (mpo[i] > mpo[m - i]) {
            int x = min(mpe[m - i], mpo[i] - mpo[m - i]);
            ans += mpo[m - i] + x;
            mpe[m - i] -= x;
        } else {
            int x = min(mpe[i], mpo[m - i] - mpo[i]);
            ans += mpo[i] + x;
            mpe[i] -= x;
        }
    }

    // for (int i = 1; i <= (m - 1) / 2; i++) {  
    rep(i, m) {
        // cout << i << " " << mpe[i] << endl;
        ans += mpe[i] / 2;
    }

    cout << ans << endl;
    return 0;
}

Submission Info

Submission Time
Task D - Pair Cards
User kazuhitot
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1416 Byte
Status WA
Exec Time 154 ms
Memory 14336 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 13
WA × 21
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 WA 1 ms 256 KB
01-02.txt WA 38 ms 3200 KB
01-03.txt WA 38 ms 3200 KB
01-04.txt WA 38 ms 3200 KB
01-05.txt WA 39 ms 3200 KB
01-06.txt WA 40 ms 3200 KB
01-07.txt WA 40 ms 3200 KB
01-08.txt WA 44 ms 3328 KB
01-09.txt WA 46 ms 3456 KB
01-10.txt WA 62 ms 7040 KB
01-11.txt WA 87 ms 12544 KB
01-12.txt AC 9 ms 256 KB
01-13.txt AC 31 ms 4352 KB
01-14.txt WA 46 ms 4992 KB
01-15.txt WA 46 ms 4992 KB
01-16.txt WA 50 ms 4992 KB
01-17.txt WA 57 ms 4992 KB
01-18.txt WA 59 ms 5248 KB
01-19.txt WA 65 ms 6144 KB
01-20.txt AC 154 ms 14336 KB
01-21.txt WA 18 ms 384 KB
01-22.txt WA 18 ms 384 KB
01-23.txt WA 18 ms 512 KB
01-24.txt WA 19 ms 512 KB
01-25.txt AC 32 ms 3328 KB
01-26.txt AC 67 ms 9856 KB
01-27.txt AC 115 ms 12032 KB
01-28.txt AC 51 ms 9856 KB
01-29.txt AC 18 ms 3968 KB
01-30.txt AC 52 ms 9600 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB