結果
| 問題 |
No.1972 Modulo Set
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-08-07 11:06:50 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,469 bytes |
| コンパイル時間 | 835 ms |
| コンパイル使用メモリ | 90,176 KB |
| 実行使用メモリ | 13,752 KB |
| 最終ジャッジ日時 | 2024-09-17 05:32:57 |
| 合計ジャッジ時間 | 6,401 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 1 WA * 24 TLE * 1 -- * 8 |
ソースコード
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <tuple>
#include <bitset>
#include <map>
#define rep(i,n) for(i=0; i<n; ++i)
#define inc_rep(i,a,n) for(i=a; i<=n; ++i)
#define dec_rep(i,n,a) for(i=n; i>=a; --i)
#define in(a) cin >> a
#define out(a,b) cout << a << b
#define print_vec(v) for(auto it=v.begin();it!=v.end();++it)cout<<*it <<" ";cout<<endl
#define print_vec2d(v) for(int i=0;i<v.size();++i){for(int j=0;j<v[i].size();++j)cout<<v[i][j]<<" ";cout<<endl;}cout<<endl
using namespace std;
using lint = long long;
int main(void){
int i, j, k, cnt=0, x, y;
lint p, q, n, m;
string s;
map<int, int> d;
in(n); in(m);
rep(i,n){
in(k);
d[k%m]++;
cnt++;
}
lint sum=0;
auto it = d.find(0);
if(it!=d.end()){
sum++;
}
rep(i,(m+2)/2){
if(i==0) continue;
j=m-i;
if(i==j){
it = d.find(i);
if(it!=d.end()){
sum++;
}
}
else{
lint l, r;
auto itl = d.find(i);
auto itr = d.find(j);
if(itl!=d.end()){
l = d[i];
}
else{
l = 0;
}
if(itr!=d.end()){
r = d[j];
}
else{
r = 0;
}
sum+=max(l,r);
}
}
out(sum, endl);
return 0;
}