Submission #7615048
Source Code Expand
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(int)(n);i++) #define rrep(i,n) for(int i=(int)(n-1);i>=0;i--) #define FOR(i,n,m) for(int i=n;i<=(int)(m);i++) #define RFOR(i,n,m) for(int i=(int)(n);i>=m;i--) #define all(x) (x).begin(),(x).end() #define sz(x) int(x.size()) typedef long long ll; const int INF = 1e9; const int MOD = 1e9+7; const ll LINF = 1e18; using namespace std; vector<int> dy={1,0,-1,0}; vector<int> dx={0,1,0,-1}; template<class T> vector<T> make_vec(size_t a){ return vector<T>(a); } template<class T, class... Ts> auto make_vec(size_t a, Ts... ts){ return vector<decltype(make_vec<T>(ts...))>(a, make_vec<T>(ts...)); } int main(){ int n,m; cin>>n>>m; vector<int> x(n); map<int,int> mp; rep(i,n) { cin>>x[i]; mp[x[i]]++; } vector<pair<int,int>> vec(m,make_pair(0,0)); //vec[i]->(mod mがiになるxの個数,その中の同じ整数のペアの個数)のpair rep(i,n){ vec[x[i]%m].first++; if(mp[x[i]]>1){ vec[x[i]%m].second+=mp[x[i]]/2; mp[x[i]]=0; } } //for(auto p:vec) cout<<p.first<<" "<<p.second<<endl; int ans=0; ans+=vec[0].first/2; if(m%2==0) ans+=vec[m/2].first/2; FOR(i,1,(m-1)/2){ auto a=vec[i]; auto b=vec[m-i]; if(a>=b){ ans+=b.first; ans+=min((a.first-b.first)/2,a.second); } else{ ans+=a.first; ans+=min((b.first-a.first)/2,b.second); } } cout<<ans<<endl; }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | gyouzasushi |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1659 Byte |
Status | AC |
Exec Time | 94 ms |
Memory | 6144 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 | 1 ms | 256 KB |
01-02.txt | AC | 80 ms | 3584 KB |
01-03.txt | AC | 80 ms | 3584 KB |
01-04.txt | AC | 81 ms | 3584 KB |
01-05.txt | AC | 80 ms | 3584 KB |
01-06.txt | AC | 80 ms | 3584 KB |
01-07.txt | AC | 81 ms | 3584 KB |
01-08.txt | AC | 80 ms | 3584 KB |
01-09.txt | AC | 81 ms | 3584 KB |
01-10.txt | AC | 82 ms | 4096 KB |
01-11.txt | AC | 82 ms | 4352 KB |
01-12.txt | AC | 30 ms | 640 KB |
01-13.txt | AC | 32 ms | 1024 KB |
01-14.txt | AC | 94 ms | 5376 KB |
01-15.txt | AC | 87 ms | 5376 KB |
01-16.txt | AC | 92 ms | 5376 KB |
01-17.txt | AC | 86 ms | 5376 KB |
01-18.txt | AC | 86 ms | 5376 KB |
01-19.txt | AC | 85 ms | 5376 KB |
01-20.txt | AC | 86 ms | 6144 KB |
01-21.txt | AC | 48 ms | 768 KB |
01-22.txt | AC | 46 ms | 768 KB |
01-23.txt | AC | 46 ms | 768 KB |
01-24.txt | AC | 46 ms | 768 KB |
01-25.txt | AC | 47 ms | 1024 KB |
01-26.txt | AC | 47 ms | 1664 KB |
01-27.txt | AC | 39 ms | 3584 KB |
01-28.txt | AC | 4 ms | 1152 KB |
01-29.txt | AC | 2 ms | 640 KB |
01-30.txt | AC | 2 ms | 1024 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 1 ms | 256 KB |