Submission #7366063


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define inf INT_MAX
#define INF LLONG_MAX
#define ll long long
#define ull unsigned long long
#define M (int)(1e9+7)
#define P pair<int,int>
#define PLL pair<ll,ll>
#define FOR(i,m,n) for(int i=(int)m;i<(int)n;i++)
#define RFOR(i,m,n) for(int i=(int)m;i>=(int)n;i--)
#define rep(i,n) FOR(i,0,n)
#define rrep(i,n) RFOR(i,n,0)
#define all(a) a.begin(),a.end()
#define IN(a,n) rep(i,n){ cin>>a[i]; }
const int vx[4] = {0,1,0,-1};
const int vy[4] = {1,0,-1,0};
#define PI 3.14159265
#define F first
#define S second
#define PB push_back
#define EB emplace_back
#define int ll
#define vi vector<int>

map<int,int> a;
map<int,int> mul;
map<int,int> one;

signed main(){
  cin.tie(0);
  ios::sync_with_stdio(false);

  int n,m;
  cin>>n>>m;
  rep(i,n){
    int x;
    cin>>x;
    a[x]++;
  }
  for(P x:a){
    mul[x.F%m]+=x.S/2;
    one[x.F%m]+=x.S%2;
    //cout<<x.F<<' ';
  }
  //cout<<endl;

  int ans=0;
  for(P p:one){
    int x=p.F,y=p.S;
    //cout<<x<<' '<<y<<' '<<endl;
    if(x==0||x==m-x){
      ans+=y/2;
    }else{
      int res=min(y,one[m-x]);
      ans+=res;
      //cout<<res<<' '<<y<<' '<<one[m-x]<<endl;
      y-=res;
      one[x]-=res;
      one[m-x]-=res;
      //cout<<one[x]<<' '<<one[m-x]<<endl;
      //cout<<x<<' '<<y<<endl;
      if(y>0){
        res=min(y,mul[m-x]*2);
        ans+=res;
        one[x]-=res;
        mul[m-x]-=res/2;
      }
    }
    //cout<<ans<<endl;
  }

  for(P p:mul){
    //cout<<p.F<<' '<<p.S<<endl;
      ans+=p.S;
  }

  cout<<ans<<endl;

}

Submission Info

Submission Time
Task D - Pair Cards
User mint
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1613 Byte
Status WA
Exec Time 197 ms
Memory 19072 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 21
WA × 13
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 39 ms 4224 KB
01-03.txt AC 39 ms 4224 KB
01-04.txt AC 39 ms 4224 KB
01-05.txt WA 39 ms 4224 KB
01-06.txt WA 40 ms 4224 KB
01-07.txt WA 40 ms 4224 KB
01-08.txt WA 45 ms 4352 KB
01-09.txt WA 47 ms 4480 KB
01-10.txt WA 91 ms 9216 KB
01-11.txt WA 153 ms 14592 KB
01-12.txt AC 9 ms 256 KB
01-13.txt AC 9 ms 256 KB
01-14.txt AC 47 ms 6528 KB
01-15.txt AC 50 ms 6528 KB
01-16.txt AC 50 ms 6528 KB
01-17.txt AC 57 ms 6528 KB
01-18.txt AC 60 ms 6912 KB
01-19.txt AC 76 ms 8064 KB
01-20.txt AC 197 ms 19072 KB
01-21.txt AC 18 ms 512 KB
01-22.txt WA 18 ms 512 KB
01-23.txt WA 18 ms 512 KB
01-24.txt WA 19 ms 640 KB
01-25.txt WA 22 ms 1280 KB
01-26.txt WA 22 ms 1280 KB
01-27.txt AC 179 ms 15872 KB
01-28.txt WA 6 ms 1280 KB
01-29.txt AC 2 ms 384 KB
01-30.txt AC 1 ms 256 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB