Submission #992516
Source Code Expand
#include <bits/stdc++.h> #include<iostream> #include<cstdio> #include<vector> #include<queue> #include<map> #include<cstring> #include<string> #include <math.h> #include<algorithm> // #include <boost/multiprecision/cpp_int.hpp> #include<functional> #define int long long #define inf 1000000007 #define pa pair<int,int> #define ll long long #define pal pair<ll,ll> #define ppa pair<int,pa> #define mp make_pair #define pb push_back #define EPS (1e-10) #define equals(a,b) (fabs((a)-(b))<EPS) using namespace std; class Point{ public: double x,y; Point(double x=0,double y=0):x(x),y(y) {} Point operator + (Point p) {return Point(x+p.x,y+p.y);} Point operator - (Point p) {return Point(x-p.x,y-p.y);} Point operator * (double a) {return Point(x*a,y*a);} Point operator / (double a) {return Point(x/a,y/a);} double absv() {return sqrt(norm());} double norm() {return x*x+y*y;} bool operator < (const Point &p) const{ return x != p.x ? x<p.x: y<p.y; } bool operator == (const Point &p) const{ return fabs(x-p.x)<EPS && fabs(y-p.y)<EPS; } }; typedef Point Vector; struct Segment{ Point p1,p2; }; double hen(Vector a){ if(fabs(a.x)<EPS && a.y>0) return acos(0); else if(fabs(a.x)<EPS && a.y<0) return 3*acos(0); else if(fabs(a.y)<EPS && a.x<0) return 2*acos(0); else if(fabs(a.y)<EPS && a.x>0) return 0.0; else if(a.y>0) return acos(a.x/a.absv()); else return 2*acos(0)+acos(-a.x/a.absv()); } int gcd(int v,int b){ if(v>b) return gcd(b,v); if(v==b) return b; if(b%v==0) return v; return gcd(v,b%v); } double dot(Vector a,Vector b){ return a.x*b.x+a.y*b.y; } double cross(Vector a,Vector b){ return a.x*b.y-a.y*b.x; } //----------------kokomade tenpure------------ int amari[100002]={0}; int ak[100002]={0}; int kosuu[100002]={0}; signed main(){ int n,m; cin>>n>>m; for(int i=0;i<n;i++){ int x; cin>>x; amari[x%m]++; kosuu[x]++; if(kosuu[x]>0 && kosuu[x]%2==0) ak[x%m]++; } int ans=0; // for(int i=0;i<m;i++) cout<<amari[] for(int i=0;i<=m/2-1;i++){ //m is odd? int j=min(amari[i],amari[m-i-1]); ans += j; amari[i] -=j; amari[m-i-1] -= j; if(amari[m-i-1]==0){ ans += min(ak[i],amari[i]/2); } else ans += min(ak[m-i-1],amari[m-i-1]/2); } if(m%2==1){ int d=m/2; ans += amari[d]/2; } cout<<ans<<endl; // printf("%.10f\n",ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Pair Cards |
User | smiken |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 3293 Byte |
Status | WA |
Exec Time | 36 ms |
Memory | 2560 KB |
Judge Result
Set Name | sample | all | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 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 | 33 ms | 1024 KB |
01-03.txt | AC | 33 ms | 1024 KB |
01-04.txt | AC | 33 ms | 1024 KB |
01-05.txt | WA | 34 ms | 1024 KB |
01-06.txt | AC | 33 ms | 1024 KB |
01-07.txt | WA | 34 ms | 1024 KB |
01-08.txt | WA | 33 ms | 1024 KB |
01-09.txt | WA | 36 ms | 1024 KB |
01-10.txt | WA | 34 ms | 1664 KB |
01-11.txt | WA | 36 ms | 2560 KB |
01-12.txt | AC | 32 ms | 256 KB |
01-13.txt | AC | 32 ms | 640 KB |
01-14.txt | AC | 33 ms | 1024 KB |
01-15.txt | AC | 33 ms | 1024 KB |
01-16.txt | WA | 33 ms | 1024 KB |
01-17.txt | AC | 34 ms | 1024 KB |
01-18.txt | AC | 33 ms | 1152 KB |
01-19.txt | AC | 34 ms | 1152 KB |
01-20.txt | WA | 34 ms | 1792 KB |
01-21.txt | WA | 33 ms | 1024 KB |
01-22.txt | AC | 33 ms | 1024 KB |
01-23.txt | WA | 33 ms | 1024 KB |
01-24.txt | WA | 33 ms | 1024 KB |
01-25.txt | WA | 34 ms | 1536 KB |
01-26.txt | WA | 36 ms | 2560 KB |
01-27.txt | WA | 19 ms | 1408 KB |
01-28.txt | WA | 6 ms | 1920 KB |
01-29.txt | WA | 5 ms | 1280 KB |
01-30.txt | AC | 4 ms | 1024 KB |
sample-01.txt | WA | 3 ms | 256 KB |
sample-02.txt | WA | 3 ms | 256 KB |