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
AC × 2
AC × 32
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