Submission #7634526


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using db = double;
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define all(v) (v).begin(), (v).end()
#define siz(v) (ll)(v).size()
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
#define repi(i, x, n) for (ll i = x; i < (ll)(n); i++)
#define lb lower_bound
#define ub upper_bound
typedef pair<int, int> P;
typedef pair<ll, ll> PL;
const ll mod = 1000000007;
const ll INF = 1000000099;
const ll LINF = (ll)(1e18 + 99);
vector<ll> dx = {-1, 1, 0, 0}, dy = {0, 0, -1, 1};
//cin.tie(0);ios::sync_with_stdio(false);

signed main()
{
    ll n, m, ans = 0;
    cin >> n >> m;
    vector<vector<ll>> v(m, vector<ll>(0));
    vector<ll> nofs(m, 0);

    rep(i, n)
    {
        ll x;
        cin >> x;
        v.at(x % m).pb(x);
    }
    rep(i, m)
    {
        sort(all(v[i]));
        
        rep(j,siz(v[i])){
            if(j<siz(v[i])-1 && v[i][j]==v[i][j+1]){
                nofs[i]++;
                j++;
            }
        }

        //cout<<siz(v[i])<<" "<<nofs[i]<<endl;
    }

    for (int i = 1; i < m - i; i++)
    {
        ll a = siz(v[i]), b = siz(v[m - i]);
        if (a <= b)
        {
            ans += a;
            ans += min(nofs[m - i], (b - a) / 2);
        }
        else
        {
            ans += b;
            ans += min(nofs[i], (a - b) / 2);
        }
    }

    ans+=siz(v[0])/2;
    if(m%2==0){
        ans+=siz(v[m/2])/2;
    }
    cout << ans << endl;
}

Submission Info

Submission Time
Task D - Pair Cards
User Hyado
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1567 Byte
Status AC
Exec Time 44 ms
Memory 6528 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 1 ms 256 KB
01-02.txt AC 37 ms 1400 KB
01-03.txt AC 37 ms 1124 KB
01-04.txt AC 37 ms 1464 KB
01-05.txt AC 37 ms 1216 KB
01-06.txt AC 36 ms 1536 KB
01-07.txt AC 36 ms 1152 KB
01-08.txt AC 35 ms 1536 KB
01-09.txt AC 35 ms 1536 KB
01-10.txt AC 40 ms 3200 KB
01-11.txt AC 44 ms 5504 KB
01-12.txt AC 32 ms 1404 KB
01-13.txt AC 33 ms 2808 KB
01-14.txt AC 36 ms 1124 KB
01-15.txt AC 36 ms 1268 KB
01-16.txt AC 35 ms 1536 KB
01-17.txt AC 34 ms 1280 KB
01-18.txt AC 35 ms 2048 KB
01-19.txt AC 37 ms 1792 KB
01-20.txt AC 43 ms 6528 KB
01-21.txt AC 36 ms 1104 KB
01-22.txt AC 35 ms 1368 KB
01-23.txt AC 34 ms 1408 KB
01-24.txt AC 34 ms 1536 KB
01-25.txt AC 35 ms 2560 KB
01-26.txt AC 39 ms 4736 KB
01-27.txt AC 22 ms 4992 KB
01-28.txt AC 5 ms 3456 KB
01-29.txt AC 2 ms 1536 KB
01-30.txt AC 3 ms 3328 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB