Submission #6423328


Source Code Expand

#include <stdio.h>  
#include <algorithm>  
#include <assert.h>
#include <bitset>
#include <cmath>  
#include <complex>  
#include <deque>  
#include <functional>  
#include <iostream>  
#include <limits.h>  
#include <map>  
#include <math.h>  
#include <queue>  
#include <set>  
#include <stdlib.h>  
#include <string.h>  
#include <string>  
#include <time.h>  
#include <unordered_map>  
#include <unordered_set>  
#include <vector>  
#include <chrono>
#include <random>
#include <time.h>
#include <fstream>
#define ll long long
#define rep2(i,a,b) for(ll i=a;i<=b;++i)
#define rep(i,n) for(ll i=0;i<n;i++)
#define rep3(i,a,b) for(ll i=a;i>=b;i--)
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pq priority_queue<int>
#define pqg priority_queue<int,vector<int>,greater<int>>
#define pb push_back
#define vec vector<int>
#define vecll vector<ll>
#define vecpii vector<pii>
#define endl "\n"
#define all(c) begin(c),end(c)
using namespace std;
int in() {int x;scanf("%d",&x);return x;}
ll lin() {ll x;scanf("%lld",&x);return x;}

#define INF 1e9+7
#define LLINF 1e18+7
#define N 250000
ll MOD=1e9+7;

main(){
    int n=in(),m=in();
    vector<int> v;
    rep(i,n){
        v.pb(in());
    }
    sort(all(v));
    vector<pii> cnt(m+1);
    for(int i=0;i<v.size();i++){
        int j=0;
        while(i+j<v.size()&&v[i+j]==v[i]){
            j++;
        }
        cnt[v[i]%m].first+=j;
        cnt[v[i]%m].second+=j/2;
        i+=j;
        i--;
    }
    ll ans=0;
    rep(i,(m+1)/2){
        if(i*2==m||i==0){
            ans+=cnt[i].first/2;
        }
        else{
            pii p=cnt[i],q=cnt[m-i];
            ans+=min(p.first,q.first);
            //cout<<ans<<endl;
            if(p.first>q.first){
                ans+=min(p.first-q.first,p.second*2)/2*2;
            }
            else{
                ans+=min(-p.first+q.first,q.second*2)/2*2;
            }
        }
    }
    cout<<ans;
}

Submission Info

Submission Time
Task D - Pair Cards
User noimi
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2005 Byte
Status WA
Exec Time 19 ms
Memory 1528 KB

Compile Error

./Main.cpp: In function ‘int in()’:
./Main.cpp:41:31: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 int in() {int x;scanf("%d",&x);return x;}
                               ^
./Main.cpp: In function ‘long long int lin()’:
./Main.cpp:42:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
 ll lin() {ll x;scanf("%lld",&x);return x;}
                                ^

Judge Result

Set Name sample all
Score / Max Score 0 / 0 0 / 700
Status
AC × 2
AC × 14
WA × 20
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 18 ms 892 KB
01-03.txt WA 18 ms 892 KB
01-04.txt WA 18 ms 892 KB
01-05.txt WA 18 ms 892 KB
01-06.txt WA 18 ms 892 KB
01-07.txt WA 18 ms 892 KB
01-08.txt WA 18 ms 892 KB
01-09.txt WA 18 ms 892 KB
01-10.txt WA 18 ms 1016 KB
01-11.txt WA 19 ms 1528 KB
01-12.txt WA 12 ms 892 KB
01-13.txt WA 12 ms 1144 KB
01-14.txt WA 18 ms 892 KB
01-15.txt AC 18 ms 892 KB
01-16.txt WA 18 ms 892 KB
01-17.txt AC 18 ms 892 KB
01-18.txt AC 18 ms 892 KB
01-19.txt AC 18 ms 892 KB
01-20.txt AC 18 ms 1528 KB
01-21.txt WA 16 ms 892 KB
01-22.txt WA 16 ms 892 KB
01-23.txt WA 16 ms 892 KB
01-24.txt WA 16 ms 892 KB
01-25.txt WA 16 ms 892 KB
01-26.txt WA 17 ms 1528 KB
01-27.txt AC 10 ms 1404 KB
01-28.txt WA 2 ms 1024 KB
01-29.txt AC 2 ms 512 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