Submission #1113232


Source Code Expand

#include<bits/stdc++.h>

#define FOR(i, a, b) for(int(i)=(a);(i)<(b);(i)++)
#define REP(i, n) FOR((i), 0, (n))

#define RFOR(i, b, a) for(int(i)=(b); (i)>=(a); (i)--)
#define RREP(i, n) FOR((i), (n), 0)

#define pb push_back
#define mp make_pair 

using namespace std;

const int INF=INT_MAX/4;
const int MOD=1000000007;
const double EPS=1e-14;

const bool debug_flag=true;

void debug(string str){
	if(debug_flag){
		cout<<str<<endl;
	}
}

void debugs(string str){
	if(debug_flag){
		cout<<str;
	}
}

int main(int argc, char* argv[]){
	cin.tie(0);
	ios::sync_with_stdio(0);
	cout.precision(10);

	int N, M, x;
	cin>>N>>M;
	vector<vector<int> > g;
	g.resize(M);
	REP(i, N){
		cin>>x;
		g[x%M].pb(x);
	}

	int ans=0, s, t, S, T, cnt;
	FOR(i, 1, M/2.0){
		if(g[i].size()<g[M-i].size()){
			s=i;
			t=M-i;
			S=g[s].size();
			T=g[t].size();
		}else{
			s=M-i;
			t=i;
			S=g[s].size();
			T=g[t].size();
		}
		sort(g[t].begin(), g[t].end());
		cnt=0;
		REP(j, g[t].size()){
			if(g[t][j]==g[t][j+1] && cnt*2<=T-S-2){
				cnt++;
				j++;
			}
		}
		ans+=cnt+S;
	}

	ans+=g[0].size()/2;
	if(M%2==0){
		ans+=g[M/2].size()/2;
	}

	cout<<ans<<endl;

	return 0;
}

Submission Info

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

Judge Result

Set Name sample all
Score / Max Score 0 / 0 700 / 700
Status
AC × 2
AC × 34
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, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 256 KB
01-02.txt AC 10 ms 892 KB
01-03.txt AC 10 ms 892 KB
01-04.txt AC 12 ms 896 KB
01-05.txt AC 11 ms 768 KB
01-06.txt AC 12 ms 896 KB
01-07.txt AC 12 ms 768 KB
01-08.txt AC 12 ms 896 KB
01-09.txt AC 13 ms 896 KB
01-10.txt AC 18 ms 2432 KB
01-11.txt AC 18 ms 4608 KB
01-12.txt AC 11 ms 892 KB
01-13.txt AC 12 ms 1916 KB
01-14.txt AC 9 ms 788 KB
01-15.txt AC 12 ms 896 KB
01-16.txt AC 12 ms 1024 KB
01-17.txt AC 12 ms 768 KB
01-18.txt AC 13 ms 1152 KB
01-19.txt AC 15 ms 1280 KB
01-20.txt AC 19 ms 5760 KB
01-21.txt AC 10 ms 896 KB
01-22.txt AC 11 ms 768 KB
01-23.txt AC 12 ms 896 KB
01-24.txt AC 12 ms 896 KB
01-25.txt AC 14 ms 1664 KB
01-26.txt AC 15 ms 3328 KB
01-27.txt AC 10 ms 4224 KB
01-28.txt AC 3 ms 2688 KB
01-29.txt AC 2 ms 1152 KB
01-30.txt AC 3 ms 2560 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB