Submission #993459


Source Code Expand

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

#define int long long
#define DEBUG 0
#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define rrep(i,a,b) for(int i=(b)-1;i>=(a);i--)
#define all(a) (a).begin(),(a).end()
#define dump(o) if(DEBUG){cerr<<#o<<" "<<o<<endl;}
#define dumpc(o) if(DEBUG){cerr<<#o; for(auto &e:(o))cerr<<" "<<e;cerr<<endl;}
using pii = pair<int, int>; using vi = vector<int>;
static const int INF = sizeof(int) == sizeof(long long) ? 0x3f3f3f3f3f3f3f3fLL : 0x3f3f3f3f;
static const int MOD = (int)(1e9 + 7);

#define MAX_X 100010

signed main() {
	int N, M; cin >> N >> M;
	int cnt[MAX_X] = {};
	//vector<vector<int>> v(5, vector<int>());
	//rep(i, 0, N) {
	//	int X; cin >> X;
	//	v[X%M].emplace_back(X);
	//	cnt[X]++;
	//}
	//rep(i, 0, 5)sort(all(v[i]));

	vector<vector<int>> v(M, vector<int>());
	rep(i, 0, N) {
		int X; cin >> X;
		v[X%M].emplace_back(X);
		cnt[X]++;
	}
	vector<int> cntd(M, 0);
	rep(i, 0, MAX_X) {
		cntd[i%M] += cnt[i] / 2;
	}

	int ans = 0;
	ans += v[0].size() / 2;
	if (M % 2 == 0)ans += v[M / 2].size() / 2;
	rep(i, 1, M) {
		if (M % 2 == 0 && i == M / 2)continue;
		int add = min(v[i].size(), v[M - i].size());
		ans += add;
		if (add == v[i].size()) {
			ans += min(
				((int)v[M - i].size() - add) / 2,
				cntd[M - i]
			);
		}
		else {
			ans += min(
				((int)v[i].size() - add) / 2,
				cntd[i]
			);
		}
	}
	cout << ans / 2 << endl;
	return 0;
}

Submission Info

Submission Time
Task D - Pair Cards
User minaminao
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1461 Byte
Status WA
Exec Time 48 ms
Memory 7296 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 1
WA × 1
AC × 10
WA × 22
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 WA 5 ms 1024 KB
01-02.txt WA 36 ms 2168 KB
01-03.txt WA 35 ms 1892 KB
01-04.txt WA 36 ms 2232 KB
01-05.txt WA 35 ms 1984 KB
01-06.txt WA 35 ms 2304 KB
01-07.txt WA 35 ms 1920 KB
01-08.txt WA 36 ms 2304 KB
01-09.txt WA 37 ms 2304 KB
01-10.txt WA 44 ms 3968 KB
01-11.txt WA 48 ms 6272 KB
01-12.txt AC 36 ms 2168 KB
01-13.txt AC 38 ms 3192 KB
01-14.txt WA 35 ms 1892 KB
01-15.txt WA 35 ms 2036 KB
01-16.txt WA 35 ms 2304 KB
01-17.txt WA 35 ms 2048 KB
01-18.txt WA 38 ms 2816 KB
01-19.txt WA 40 ms 2688 KB
01-20.txt AC 47 ms 7296 KB
01-21.txt WA 35 ms 1992 KB
01-22.txt WA 35 ms 2136 KB
01-23.txt WA 35 ms 2176 KB
01-24.txt WA 36 ms 2304 KB
01-25.txt AC 40 ms 3328 KB
01-26.txt AC 43 ms 5504 KB
01-27.txt AC 27 ms 5760 KB
01-28.txt AC 10 ms 4224 KB
01-29.txt AC 7 ms 2304 KB
01-30.txt AC 9 ms 4096 KB
sample-01.txt AC 5 ms 1024 KB
sample-02.txt WA 5 ms 1024 KB