Submission #992232


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef long double ld;
typedef long long ll;

const int M = 100100;

int n, m;
vector<int> a[M];

void read() {
  cin >> n >> m;
  for (int i = 0; i < n; ++i) {
    int x;
    cin >> x;
    a[x % m].push_back(x);
  }
  for (int i = 0; i < m; ++i)
    sort(a[i].begin(), a[i].end());
}

int cnt(vector<int> x) {
  map<int, int> c;
  for (int a : x)
    c[a]++;
  int ans = 0;
  for (auto p : c)
    ans += p.second / 2;
  return ans;
}

void kill() {
  int ans = 0;
  for (int i = 0; i <= m - i; ++i) {
    int j = (m - i) % m;
    if (i == j) {
      ans += a[i].size() / 2;
    } else {
      auto x = a[i];
      auto y = a[j];

      if (x.size() > y.size())
        swap(x, y);

      int xs = x.size();
      int ys = y.size();

      int t = cnt(y);

      ans += xs + min(t, (ys - xs) / 2);
    }
  }
  cout << ans << endl;
}

int main() {
#ifdef LOCAL
  assert(freopen("d.in", "r", stdin));
#endif

  ios_base::sync_with_stdio(false);

  read();
  kill();

}

Submission Info

Submission Time
Task D - Pair Cards
User Arterm
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1086 Byte
Status AC
Exec Time 33 ms
Memory 5760 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 700 / 700
Status
AC × 2
AC × 32
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
Case Name Status Exec Time Memory
01-01.txt AC 5 ms 2560 KB
01-02.txt AC 20 ms 3196 KB
01-03.txt AC 20 ms 3196 KB
01-04.txt AC 25 ms 4472 KB
01-05.txt AC 23 ms 4096 KB
01-06.txt AC 23 ms 3544 KB
01-07.txt AC 22 ms 3200 KB
01-08.txt AC 20 ms 3200 KB
01-09.txt AC 21 ms 3200 KB
01-10.txt AC 27 ms 3840 KB
01-11.txt AC 32 ms 4608 KB
01-12.txt AC 17 ms 3960 KB
01-13.txt AC 17 ms 3960 KB
01-14.txt AC 20 ms 3092 KB
01-15.txt AC 27 ms 4268 KB
01-16.txt AC 23 ms 3328 KB
01-17.txt AC 21 ms 3200 KB
01-18.txt AC 22 ms 3456 KB
01-19.txt AC 24 ms 3328 KB
01-20.txt AC 33 ms 5760 KB
01-21.txt AC 19 ms 3200 KB
01-22.txt AC 19 ms 3200 KB
01-23.txt AC 18 ms 3200 KB
01-24.txt AC 17 ms 3200 KB
01-25.txt AC 20 ms 3328 KB
01-26.txt AC 21 ms 3328 KB
01-27.txt AC 21 ms 4224 KB
01-28.txt AC 7 ms 2688 KB
01-29.txt AC 6 ms 2560 KB
01-30.txt AC 6 ms 2560 KB
sample-01.txt AC 5 ms 2560 KB
sample-02.txt AC 5 ms 2560 KB