Submission #5874257


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,n) for(int i=0;i<(n);i++)

signed main(){
	int n,m;cin>>n>>m;
	vector<int>x(n);
	for(auto&& u:x)cin>>u;
	map<int,vector<int>> div;
	for(auto&& u:x)div[u%m].push_back(u);
	int ret=0;
	ret+=div[0].size()/2;
	if(m%2==0)ret+=div[m/2].size()/2;
	for(int i=1;i<=(m-1)/2;i++){
		int x=i,y=m-x;
		int nx=div[x].size(),ny=div[y].size();
		if(nx>ny)swap(x,y);
		ret+=nx;
		int pr=0;
		map<int,int>cnt;
		for(auto&& u:div[y])div[u]++;
		for(auto&& u:cnt)pr+=u.second/2;
	
		ret+=min(ny-nx,pr);
	}
	cout<<ret<<endl;

}

Submission Info

Submission Time
Task D - Pair Cards
User mnrutd
Language C++14 (GCC 5.4.1)
Score 0
Code Size 618 Byte
Status CE

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:22:29: error: no ‘operator++(int)’ declared for postfix ‘++’ [-fpermissive]
   for(auto&& u:div[y])div[u]++;
                             ^