Submission #993002
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}
typedef long long ll;
typedef pair<ll,ll> P;
const int INF=INT_MAX / 3;
const ll LINF=LLONG_MAX / 3LL;
#define CONST 1000000007
#define EPS (1e-8)
#define PB push_back
#define MP make_pair
#define sz(a) ((int)(a).size())
#define reps(i,n,m) for(int i=(n);i<int(m);i++)
#define rep(i,n) reps(i,0,n)
#define SORT(a) sort((a).begin(),(a).end())
ll mod(ll a,ll m){return (a%m+m)%m;}
int dx[9]={0,1,0,-1,1,1,-1,-1,0},dy[9]={1,0,-1,0,1,-1,1,-1,0};
ll n,m;
int pir[200000];
int md[200000];
int main(){
vector<int> vec;
int ans=0;
cin>>n>>m;
rep(i,n) {
int x;
cin>>x;
vec.PB(x);
}
SORT(vec);
rep(i,n){
md[vec[i]%m]++;
if(i+1<n&&vec[i]==vec[i+1]){
md[vec[i]%m]++;
pir[vec[i]%m]++;
i+=1;
}
}
rep(i,m){
cerr<<" "<<md[i];
}
cerr<<endl;
rep(i,m){
cerr<<" "<<pir[i];
}
cerr<<endl;
ans += md[0]/2;
reps(i,1,(m+1)/2){
int l = (md[i] < md[m-i]) ? i : m-i;
int r = (md[i] < md[m-i]) ? m-i : i;
cerr<<"!"<<i<<" "<< md[l] + min((md[r]-md[l])/2, pir[r])<<endl;;
ans += md[l] + min((md[r]-md[l])/2, pir[r]);
}
if(m%2==0) {
ans += md[m/2]/2;
}
cout<<ans<<endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
D - Pair Cards |
User |
udondon |
Language |
C++14 (GCC 5.4.1) |
Score |
700 |
Code Size |
1439 Byte |
Status |
AC |
Exec Time |
901 ms |
Memory |
1528 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 |
3 ms |
256 KB |
01-02.txt |
AC |
40 ms |
892 KB |
01-03.txt |
AC |
38 ms |
892 KB |
01-04.txt |
AC |
38 ms |
892 KB |
01-05.txt |
AC |
38 ms |
892 KB |
01-06.txt |
AC |
38 ms |
892 KB |
01-07.txt |
AC |
39 ms |
892 KB |
01-08.txt |
AC |
43 ms |
892 KB |
01-09.txt |
AC |
55 ms |
892 KB |
01-10.txt |
AC |
379 ms |
1144 KB |
01-11.txt |
AC |
899 ms |
1528 KB |
01-12.txt |
AC |
48 ms |
1020 KB |
01-13.txt |
AC |
411 ms |
892 KB |
01-14.txt |
AC |
38 ms |
892 KB |
01-15.txt |
AC |
38 ms |
1020 KB |
01-16.txt |
AC |
38 ms |
892 KB |
01-17.txt |
AC |
42 ms |
892 KB |
01-18.txt |
AC |
63 ms |
892 KB |
01-19.txt |
AC |
144 ms |
892 KB |
01-20.txt |
AC |
889 ms |
1144 KB |
01-21.txt |
AC |
37 ms |
892 KB |
01-22.txt |
AC |
37 ms |
892 KB |
01-23.txt |
AC |
38 ms |
892 KB |
01-24.txt |
AC |
48 ms |
892 KB |
01-25.txt |
AC |
301 ms |
1016 KB |
01-26.txt |
AC |
901 ms |
1528 KB |
01-27.txt |
AC |
873 ms |
764 KB |
01-28.txt |
AC |
857 ms |
768 KB |
01-29.txt |
AC |
344 ms |
384 KB |
01-30.txt |
AC |
865 ms |
256 KB |
sample-01.txt |
AC |
3 ms |
256 KB |
sample-02.txt |
AC |
3 ms |
256 KB |