Submission #992956
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) for (int i=0;i<(n);i++) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) int N,M; vector<int> v; int same[100001];//1ペアで1 int p[100001]; int main(){ REP(i,100001){ same[i]=0; p[i]=0; } cin>>N>>M; //Mが1の対策 if(M==1){ cout<<N/2<<endl; return 0; } REP(i,N){ int a; cin>>a; v.push_back(a); } sort(v.begin(),v.end()); int temp=v[0]; p[temp%M]++; for(int i=1;i<N;i++){ if(v[i]==temp){ same[temp%M]++; p[temp%M]++; if(i!=N-1){ temp=v[i+1]; p[temp%M]++; } i++; continue; } temp=v[i]; p[temp%M]++; } /* REP(i,M){ cout<<"p["<<i<<"]="<<p[i]<<" "<<same[i]<<endl; }*/ long long ans=0; REP(i,M/2+1){ if(i==0){ ans+=p[i]/2; continue; } if((M%2==0)&&(i==M/2)){ ans+=p[i]/2; // cout<<p[i]/2<<endl; break; } int a=min(p[i],p[M-i]); //cout<<p[i]<<"a"<<p[M-i]<<endl; p[i]-=a; p[M-i]-=a; ans+=a; int b=min(p[i]/2,same[i]); int c=min(p[M-i]/2,same[M-i]); ans+=b; ans+=c; //cout<<a<<" "<<b<<" "<<c<<endl; } cout<<ans<<endl; return(0); }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | rapurasu |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1745 Byte |
Status | AC |
Exec Time | 44 ms |
Memory | 1660 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 | 1024 KB |
01-02.txt | AC | 3 ms | 1024 KB |
01-03.txt | AC | 43 ms | 1660 KB |
01-04.txt | AC | 43 ms | 1660 KB |
01-05.txt | AC | 43 ms | 1660 KB |
01-06.txt | AC | 42 ms | 1660 KB |
01-07.txt | AC | 42 ms | 1660 KB |
01-08.txt | AC | 43 ms | 1660 KB |
01-09.txt | AC | 43 ms | 1660 KB |
01-10.txt | AC | 44 ms | 1660 KB |
01-11.txt | AC | 43 ms | 1660 KB |
01-12.txt | AC | 38 ms | 1660 KB |
01-13.txt | AC | 39 ms | 1660 KB |
01-14.txt | AC | 43 ms | 1660 KB |
01-15.txt | AC | 43 ms | 1660 KB |
01-16.txt | AC | 43 ms | 1660 KB |
01-17.txt | AC | 43 ms | 1660 KB |
01-18.txt | AC | 42 ms | 1660 KB |
01-19.txt | AC | 43 ms | 1660 KB |
01-20.txt | AC | 42 ms | 1660 KB |
01-21.txt | AC | 41 ms | 1660 KB |
01-22.txt | AC | 42 ms | 1660 KB |
01-23.txt | AC | 41 ms | 1660 KB |
01-24.txt | AC | 42 ms | 1660 KB |
01-25.txt | AC | 42 ms | 1660 KB |
01-26.txt | AC | 42 ms | 1660 KB |
01-27.txt | AC | 23 ms | 1408 KB |
01-28.txt | AC | 5 ms | 1024 KB |
01-29.txt | AC | 3 ms | 1024 KB |
01-30.txt | AC | 3 ms | 1024 KB |
sample-01.txt | AC | 3 ms | 1024 KB |
sample-02.txt | AC | 3 ms | 1024 KB |