Submission #992240
Source Code Expand
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define fi first #define se second #define mp make_pair #define pb push_back #define fbo find_by_order #define ook order_of_key typedef long long ll; typedef pair<ll,ll> ii; typedef vector<int> vi; typedef long double ld; typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds; typedef set<int>::iterator sit; typedef map<int,int>::iterator mit; typedef vector<int>::iterator vit; int n,m; map<int,int> cnt[100001]; vi vec[100001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m; for(int i=0;i<n;i++) { int x; cin >> x; cnt[x%m][x]++; } for(int i = 0; i < m; i++) { for(mit it = cnt[i].begin(); it != cnt[i].end(); it++) { vec[i].pb(it->se); } } int ans = 0; for(int i = 0; 2*i <= m; i++) { if(i==0||i==m-i) { int sum=0; for(int j = 0; j < vec[i].size(); j++) { sum+=vec[i][j]; } ans+=sum/2; } else { int clr1 = 0; int clr2 = 0; int sum1 = 0; int sum2 = 0; for(int j = 0; j < vec[i].size(); j++) { sum1 += vec[i][j]; clr1 += (vec[i][j]/2); } for(int j = 0; j < vec[m-i].size(); j++) { sum2 += vec[m-i][j]; clr2 += (vec[m-i][j]/2); } if(sum1>=sum2) { int mindel = min(clr1, (sum1-sum2)/2); sum1 -= 2*mindel; ans += min(sum1,sum2) + mindel; } else { int mindel = min(clr2, (sum2-sum1)/2); sum2 -= 2*mindel; ans += min(sum1,sum2) + mindel; } } } cout<<ans<<'\n'; }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | zscoder |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1708 Byte |
Status | AC |
Exec Time | 55 ms |
Memory | 15104 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 | 8 ms | 7296 KB |
01-02.txt | AC | 46 ms | 10624 KB |
01-03.txt | AC | 45 ms | 10624 KB |
01-04.txt | AC | 45 ms | 10624 KB |
01-05.txt | AC | 46 ms | 10624 KB |
01-06.txt | AC | 45 ms | 10624 KB |
01-07.txt | AC | 45 ms | 10624 KB |
01-08.txt | AC | 42 ms | 10496 KB |
01-09.txt | AC | 39 ms | 10624 KB |
01-10.txt | AC | 33 ms | 11392 KB |
01-11.txt | AC | 32 ms | 12288 KB |
01-12.txt | AC | 18 ms | 7296 KB |
01-13.txt | AC | 18 ms | 7296 KB |
01-14.txt | AC | 55 ms | 12544 KB |
01-15.txt | AC | 53 ms | 12544 KB |
01-16.txt | AC | 51 ms | 12544 KB |
01-17.txt | AC | 48 ms | 12416 KB |
01-18.txt | AC | 44 ms | 12800 KB |
01-19.txt | AC | 39 ms | 12544 KB |
01-20.txt | AC | 35 ms | 15104 KB |
01-21.txt | AC | 25 ms | 7552 KB |
01-22.txt | AC | 24 ms | 7552 KB |
01-23.txt | AC | 23 ms | 7552 KB |
01-24.txt | AC | 20 ms | 7552 KB |
01-25.txt | AC | 19 ms | 7552 KB |
01-26.txt | AC | 20 ms | 7552 KB |
01-27.txt | AC | 23 ms | 11136 KB |
01-28.txt | AC | 9 ms | 7552 KB |
01-29.txt | AC | 8 ms | 7296 KB |
01-30.txt | AC | 9 ms | 7296 KB |
sample-01.txt | AC | 9 ms | 7296 KB |
sample-02.txt | AC | 9 ms | 7296 KB |