Submission #992241
Source Code Expand
#include<iostream> #include<cstdio> #include<algorithm> #include<set> #include<map> #include<queue> #include<cassert> #define PB push_back #define MP make_pair #define sz(v) (in((v).size())) #define forn(i,n) for(in i=0;i<(n);++i) #define forv(i,v) forn(i,sz(v)) #define fors(i,s) for(auto i=(s).begin();i!=(s).end();++i) #define all(v) (v).begin(),(v).end() using namespace std; typedef long long in; typedef vector<in> VI; typedef vector<VI> VVI; vector<set<in> > cc; map<in,in> cnt; VI ttc; int main(){ ios::sync_with_stdio(0); cin.tie(0); in n,m,x; cin>>n>>m; cc.resize(m); ttc.resize(m); forn(z,n){ cin>>x; cc[x%m].insert(x); ++ttc[x%m]; ++cnt[x]; } VI bd={0}; if(m%2==0) bd.PB(m/2); in sm=0; forv(i,bd){ sm+=ttc[bd[i]]/2; } for(in i=1;i<(m-i);++i){ auto a=cc[i].begin(); auto b=cc[m-i].begin(); while(a!=cc[i].end() && b!=cc[m-i].end()){ if(cnt[*a]%2==0){ ++a; continue; } if(cnt[*b]%2==0){ ++b; continue; } ++sm; --cnt[*a]; --cnt[*b]; } in loa=0; in lob=0; while(a!=cc[i].end()){ loa+=cnt[*a]%2; ++a; } while(b!=cc[m-i].end()){ lob+=cnt[*b]%2; ++b; } in ttla=0; in ttlb=0; fors(it,cc[i]) ttla+=(cnt[*it]-cnt[*it]%2); fors(it,cc[m-i]) ttlb+=(cnt[*it]-cnt[*it]%2); loa-=loa%2; lob-=lob%2; in c=min(loa,ttlb); ttlb-=c; sm+=c; c=min(lob,ttla); ttla-=c; sm+=c; sm+=ttla/2; sm+=ttlb/2; } cout<<sm<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | w4yneb0t |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1640 Byte |
Status | AC |
Exec Time | 183 ms |
Memory | 16640 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 | 256 KB |
01-02.txt | AC | 69 ms | 7168 KB |
01-03.txt | AC | 74 ms | 7168 KB |
01-04.txt | AC | 91 ms | 7168 KB |
01-05.txt | AC | 90 ms | 7168 KB |
01-06.txt | AC | 103 ms | 7168 KB |
01-07.txt | AC | 106 ms | 7296 KB |
01-08.txt | AC | 106 ms | 7168 KB |
01-09.txt | AC | 104 ms | 7296 KB |
01-10.txt | AC | 75 ms | 9344 KB |
01-11.txt | AC | 75 ms | 12672 KB |
01-12.txt | AC | 11 ms | 256 KB |
01-13.txt | AC | 15 ms | 2688 KB |
01-14.txt | AC | 95 ms | 11136 KB |
01-15.txt | AC | 140 ms | 11136 KB |
01-16.txt | AC | 183 ms | 11264 KB |
01-17.txt | AC | 171 ms | 11264 KB |
01-18.txt | AC | 156 ms | 11392 KB |
01-19.txt | AC | 138 ms | 11904 KB |
01-20.txt | AC | 124 ms | 16640 KB |
01-21.txt | AC | 33 ms | 640 KB |
01-22.txt | AC | 33 ms | 640 KB |
01-23.txt | AC | 31 ms | 640 KB |
01-24.txt | AC | 27 ms | 768 KB |
01-25.txt | AC | 26 ms | 2304 KB |
01-26.txt | AC | 30 ms | 6144 KB |
01-27.txt | AC | 47 ms | 11136 KB |
01-28.txt | AC | 12 ms | 6144 KB |
01-29.txt | AC | 6 ms | 2432 KB |
01-30.txt | AC | 9 ms | 5760 KB |
sample-01.txt | AC | 3 ms | 256 KB |
sample-02.txt | AC | 3 ms | 256 KB |