Submission #993142


Source Code Expand

#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <cassert>
#include <iostream>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <set>
#include <map>
#include <bitset>
#include <functional>
using namespace std;

#define repl(i,a,b) for(int i=(int)(a);i<(int)(b);i++)
#define rep(i,n) repl(i,0,n)
#define mp(a,b) make_pair((a),(b))
#define pb(a) push_back((a))
#define all(x) (x).begin(),(x).end()
#define dbg(x) cout<<#x"="<<((x))<<endl
#define fi first
#define se second

#define INF 2147483600
#define MX 100000

int main(){
  int n,m;
  cin>>n>>m;
  vector<int> cnt_mod(m, 0);
  vector<int> cnt(MX+1,0);
  rep(i,n){
    int d;
    scanf("%d", &d);
    cnt_mod[d%m]++;
    cnt[d]++;
  }

  int res=cnt_mod[0]/2; //mでわってあまり0
  if(m%2==0) res += cnt_mod[m/2]/2; //偶数なら

  repl(i,1,(m+1)/2){
    // mod i, mod m-i のくみ
    int mn = min(cnt_mod[i], cnt_mod[m-i]);
    res += mn;
    // mod iのほう
    if(cnt_mod[i]>mn){
      int same=0, no=0;
      for(int k=i; k<=MX; k+=m){
        same += cnt[k]/2;
        no += cnt[k]%2;
      } //cout<<mn<<" "<<no<<" "<<same<<endl;
      if(same>0) res += (2*same-(mn-no))/2;// dbg(i); dbg(res);
    }

    // mod m-iのほう
    else if(cnt_mod[m-i]>mn){
      int same=0, no=0;
      for(int k=m-i; k<=MX; k+=m){
        same += cnt[k]/2;
        no += cnt[k]%2;
      } //cout<<mn<<" "<<no<<" "<<same<<endl;
      if(same>0) res += (2*same-(mn-no))/2;// dbg(m-i); dbg(res); dbg(same); dbg(no);
    }
  }

  cout << res<<endl;

  return 0;
}

Submission Info

Submission Time
Task D - Pair Cards
User tossy
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1651 Byte
Status WA
Exec Time 14 ms
Memory 1024 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:36:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &d);
                    ^

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 29
WA × 3
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 640 KB
01-02.txt AC 13 ms 640 KB
01-03.txt AC 13 ms 640 KB
01-04.txt AC 13 ms 640 KB
01-05.txt AC 13 ms 640 KB
01-06.txt AC 13 ms 640 KB
01-07.txt AC 13 ms 640 KB
01-08.txt AC 13 ms 640 KB
01-09.txt AC 13 ms 640 KB
01-10.txt WA 14 ms 768 KB
01-11.txt AC 14 ms 1024 KB
01-12.txt AC 12 ms 640 KB
01-13.txt AC 13 ms 768 KB
01-14.txt AC 13 ms 640 KB
01-15.txt AC 13 ms 640 KB
01-16.txt AC 13 ms 640 KB
01-17.txt AC 13 ms 640 KB
01-18.txt AC 13 ms 640 KB
01-19.txt AC 13 ms 640 KB
01-20.txt AC 14 ms 1024 KB
01-21.txt AC 13 ms 640 KB
01-22.txt AC 12 ms 640 KB
01-23.txt AC 12 ms 640 KB
01-24.txt WA 13 ms 640 KB
01-25.txt WA 13 ms 768 KB
01-26.txt AC 13 ms 1024 KB
01-27.txt AC 9 ms 1024 KB
01-28.txt AC 4 ms 1024 KB
01-29.txt AC 4 ms 768 KB
01-30.txt AC 4 ms 1024 KB
sample-01.txt AC 3 ms 640 KB
sample-02.txt AC 3 ms 640 KB