Submission #995434


Source Code Expand

#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <cstring>
#include <algorithm>
#include <queue>
#include <map>
#include <set>

#define REP(i,k,n) for(int i=k;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)
#define each(it,v) for(__typeof((v).begin()) it=(v).begin();it!=(v).end();it++)
#define INF 1<<30
#define mp make_pair

using namespace std;
typedef long long ll;
typedef pair<int,int> P;

int main() {
	int n, m;
	cin >> n >> m;

	vector<int> x(n);
	rep(i, n) cin >> x[i];

	vector<int> v[100005];
	rep(i, n) {
		v[ x[i] % m ].push_back(x[i]);
	}

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

	int ans = 0;
	REP(i, 1, (m / 2) + (m % 2 != 0)) {
		int j = m - i;

		set<int> a;
		rep(k, v[i].size()) a.insert(v[i][k]);

		int A = 0;
		each(it, a) {
			A += ma[*it] / 2;
		}

		set<int> b;
		rep(k, v[j].size()) b.insert(v[j][k]);

		int B = 0;
		each(it, b) {
			B += ma[*it] / 2;
		}

		int cnt = min(v[i].size(), v[j].size());
		ans += cnt;

		int da = v[i].size() - cnt;
		int db = v[j].size() - cnt;

		ans += min(da / 2, A);
		ans += min(db / 2, B);
	}

	if(m % 2 == 0) {
		int i = m / 2;
		set<int> a;
		rep(k, v[i].size()) a.insert(v[i][k]);

		each(it, a) {
			ans += ma[*it] / 2;
		}
	}

	ans += v[0].size() / 2;
	cout << ans << endl;

	return 0;
}

Submission Info

Submission Time
Task D - Pair Cards
User Ry0u_
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1384 Byte
Status WA
Exec Time 106 ms
Memory 10752 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 23
WA × 9
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 60 ms 6264 KB
01-03.txt WA 75 ms 7804 KB
01-04.txt AC 84 ms 8440 KB
01-05.txt WA 85 ms 7936 KB
01-06.txt AC 85 ms 7040 KB
01-07.txt WA 88 ms 6528 KB
01-08.txt AC 86 ms 6528 KB
01-09.txt WA 86 ms 6528 KB
01-10.txt WA 81 ms 7168 KB
01-11.txt AC 81 ms 7936 KB
01-12.txt AC 36 ms 3580 KB
01-13.txt AC 35 ms 3580 KB
01-14.txt WA 87 ms 10384 KB
01-15.txt AC 102 ms 9984 KB
01-16.txt WA 105 ms 8576 KB
01-17.txt AC 106 ms 8192 KB
01-18.txt AC 102 ms 8448 KB
01-19.txt AC 93 ms 8320 KB
01-20.txt AC 87 ms 10752 KB
01-21.txt WA 46 ms 3648 KB
01-22.txt AC 48 ms 3584 KB
01-23.txt WA 47 ms 3712 KB
01-24.txt AC 45 ms 3712 KB
01-25.txt AC 46 ms 3840 KB
01-26.txt AC 48 ms 3840 KB
01-27.txt AC 44 ms 6656 KB
01-28.txt AC 8 ms 2816 KB
01-29.txt AC 6 ms 2688 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