Submission #7895404
Source Code Expand
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define rep(i,n) for(ll i = 0;i<((ll)(n));i++) #define reg(i,a,b) for(ll i = ((ll)(a));i<=((ll)(b));i++) #define irep(i,n) for(ll i = ((ll)(n)-1);i>=0;i--) #define ireg(i,a,b) for(ll i = ((ll)(b));i>=((ll)(a));i--) template<class T = int> using V = vector<T>; template<class T = int> using VV = V< V<T> >; /* */ ll n,m,ans=0; V<ll> v[100010]; void init(){ cin>>n>>m; rep(i,n){ ll x; cin>>x; v[x%m].push_back(x); } rep(i,m)sort(v[i].begin(),v[i].end()); } int main(void){ init(); reg(i,0,m/2){ if(i==0 || i*2==m){ ans+=v[i].size()/2; continue; } if(v[i].size()>v[m-i].size()){ // v[m-i]を全てv[i]とマッチ ll match=0; for(int j=0; j<v[i].size()-1 && v[i].size()-v[m-i].size()>=match+2; j++){ if(v[i][j]==v[i][j+1]){ match+=2; j++; } } ans+=match/2 + v[m-i].size(); }else{ // v[i]を全てv[m-i]とマッチ ll match=0; for(int j=0; j<v[m-i].size()-1 && v[m-i].size()-v[i].size()>=match+2; j++){ if(v[m-i][j]==v[m-i][j+1]){ match+=2; j++; } } ans+=match/2 + v[i].size(); } } cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | RMQ |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1232 Byte |
Status | AC |
Exec Time | 40 ms |
Memory | 5760 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, sample-01.txt, sample-02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 2 ms | 2560 KB |
01-02.txt | AC | 38 ms | 3704 KB |
01-03.txt | AC | 38 ms | 3552 KB |
01-04.txt | AC | 37 ms | 3772 KB |
01-05.txt | AC | 37 ms | 3580 KB |
01-06.txt | AC | 36 ms | 3968 KB |
01-07.txt | AC | 36 ms | 3456 KB |
01-08.txt | AC | 36 ms | 3840 KB |
01-09.txt | AC | 35 ms | 3840 KB |
01-10.txt | AC | 40 ms | 4224 KB |
01-11.txt | AC | 40 ms | 4736 KB |
01-12.txt | AC | 33 ms | 3704 KB |
01-13.txt | AC | 33 ms | 3704 KB |
01-14.txt | AC | 37 ms | 3548 KB |
01-15.txt | AC | 37 ms | 3696 KB |
01-16.txt | AC | 36 ms | 3968 KB |
01-17.txt | AC | 35 ms | 3712 KB |
01-18.txt | AC | 36 ms | 4224 KB |
01-19.txt | AC | 37 ms | 3840 KB |
01-20.txt | AC | 39 ms | 5760 KB |
01-21.txt | AC | 37 ms | 3536 KB |
01-22.txt | AC | 36 ms | 3672 KB |
01-23.txt | AC | 35 ms | 3712 KB |
01-24.txt | AC | 34 ms | 3840 KB |
01-25.txt | AC | 35 ms | 3968 KB |
01-26.txt | AC | 36 ms | 3968 KB |
01-27.txt | AC | 20 ms | 4096 KB |
01-28.txt | AC | 4 ms | 2688 KB |
01-29.txt | AC | 3 ms | 2560 KB |
01-30.txt | AC | 3 ms | 2560 KB |
sample-01.txt | AC | 2 ms | 2560 KB |
sample-02.txt | AC | 2 ms | 2560 KB |