Submission #992247
Source Code Expand
#include <iostream> #include <fstream> #include <set> #include <map> #include <string> #include <vector> #include <bitset> #include <algorithm> #include <cstring> #include <cstdlib> #include <cmath> #include <cassert> #include <queue> #define mp make_pair #define pb push_back typedef long long ll; typedef long double ld; using namespace std; int n, m; int c[120000]; vector<int> c0[120000]; vector<int> c1[120000]; int main() { cin >> n >> m; for (int i = 0; i < n; ++i) { int x; cin >> x; int y = x % m; if (y > m - y) c1[m - y].push_back(x); else c0[y].push_back(x); } int ans = 0; for (int i = 0; i < m; ++i) { if ((i + i) % m == 0) { ans += (c0[i].size() + c1[i].size()) / 2; continue; } sort(c0[i].begin(), c0[i].end()); sort(c1[i].begin(), c1[i].end()); int cc = 0; if (c0[i].size() > c1[i].size()) { for (int j = 0; j < (int)c0[i].size(); ++j) { if (j != (int)c0[i].size() && c0[i][j] == c0[i][j + 1]) ++cc, ++j; } } else { for (int j = 0; j < (int)c1[i].size(); ++j) { if (j != (int)c1[i].size() && c1[i][j] == c1[i][j + 1]) ++cc, ++j; } } int mx = max(c0[i].size(), c1[i].size()); int mn = min(c0[i].size(), c1[i].size()); cc = min(cc, (mx - mn) / 2); ans += cc + mn; } cout << ans << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | LHiC |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1378 Byte |
Status | AC |
Exec Time | 53 ms |
Memory | 8960 KB |
Judge Result
Set Name | sample | all | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
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 | 8 ms | 5888 KB |
01-02.txt | AC | 44 ms | 6524 KB |
01-03.txt | AC | 42 ms | 6524 KB |
01-04.txt | AC | 46 ms | 6528 KB |
01-05.txt | AC | 45 ms | 6400 KB |
01-06.txt | AC | 47 ms | 6528 KB |
01-07.txt | AC | 47 ms | 6400 KB |
01-08.txt | AC | 46 ms | 6528 KB |
01-09.txt | AC | 46 ms | 6528 KB |
01-10.txt | AC | 51 ms | 7168 KB |
01-11.txt | AC | 53 ms | 7808 KB |
01-12.txt | AC | 44 ms | 6524 KB |
01-13.txt | AC | 44 ms | 6524 KB |
01-14.txt | AC | 41 ms | 6420 KB |
01-15.txt | AC | 46 ms | 6528 KB |
01-16.txt | AC | 47 ms | 6528 KB |
01-17.txt | AC | 46 ms | 6400 KB |
01-18.txt | AC | 47 ms | 6784 KB |
01-19.txt | AC | 48 ms | 6656 KB |
01-20.txt | AC | 52 ms | 8960 KB |
01-21.txt | AC | 42 ms | 6400 KB |
01-22.txt | AC | 46 ms | 6400 KB |
01-23.txt | AC | 45 ms | 6400 KB |
01-24.txt | AC | 45 ms | 6528 KB |
01-25.txt | AC | 46 ms | 6656 KB |
01-26.txt | AC | 46 ms | 6656 KB |
01-27.txt | AC | 30 ms | 7424 KB |
01-28.txt | AC | 10 ms | 6016 KB |
01-29.txt | AC | 9 ms | 5888 KB |
01-30.txt | AC | 9 ms | 5888 KB |
sample-01.txt | AC | 8 ms | 5888 KB |
sample-02.txt | AC | 8 ms | 5888 KB |