結果
| 問題 |
No.1594 Three Classes
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-07-10 19:52:30 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,082 bytes |
| コンパイル時間 | 2,100 ms |
| コンパイル使用メモリ | 195,524 KB |
| 最終ジャッジ日時 | 2025-01-23 00:27:50 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 WA * 8 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using Pa = pair<ll,ll>; // vector<Pa> event; event.emplace_back(a,b); // 複数要素(複雑なのを含む)->sortしないならclassを作成すべし
using VPll = vector<pair<ll,ll>>; //VPll event; event.emplace_back(a,b);
using Vll = vector<ll>; // Vll a(6,0); //要素0~5 初期値0
using VVll = vector<Vll>; // VVll G(N+1,Vll(0)); VVll a(5,Vll(3,0)); vector<VVll> G(H+1,VVll(W+1,Vll(5,0)));
#define INF (ll)1<<60 // 10^18 < 1<<60 = 1152921504606846976
#define FOR(i,a,b) for(ll i=(ll)(a); i<(ll)(b); i++)// a ~ b-1 i++ for
#define FOR_(i,b,a) for(ll i=(ll)(b)-1; (ll)(a)<=i; i--)// b-1 ~ a i-- for
#define ALL(a) (a).begin(),(a).end() // min,max,sort,find,lower_bound
#define OI(s) cout<<(s)<<"\n" // printf("%8.8lf\n",(s));//double 小数点上8桁まで,下8桁まで出力
#define OI2(s0,s1) cout<<(s0)<<" "<<(s1)<<"\n"
#define OI3(s0,s1,s2) cout<<(s0)<<" "<<(s1)<<" "<<(s2)<<"\n"
#define OI4(s0,s1,s2,s3) cout<<(s0)<<" "<<(s1)<<" "<<(s2)<<" "<<(s3)<<"\n"
#define OIV(a) for(ll i=0;i<(a).size();i++){if((a)[i]==INF){cout<<"I"<<" ";}else {cout<<(a)[i]<<" ";}} cout<<""<<"\n"
#define OIVV(a) for(ll i=0;i<(a).size();i++){for(ll j=0;j<(a[i]).size();j++){if((a)[i][j]==INF){cout<<"I"<<" ";}else {cout<<(a)[i][j]<<" ";}}cout<<" "<<"\n";}
Vll tansa(ll &N, ll a){
Vll v(N,0);
ll cnt=0;
while(a>0){
v[cnt]=a%3;
cnt+=1;
a/=3;
}
return v;
}
int main(){
ll N;
cin>>N;
Vll E(N,0);
ll sumE=0;
FOR(i,0,N){
cin>>E[i];
sumE += E[i];
}
if(sumE%3!=0){
OI("No");
return 0;
}
ll kazu=1;
FOR(i,0,N){
kazu *= 3;
}
bool ok=false;
Vll p(3,0);//各組の合計値
Vll v(N,0);
FOR(i,0,kazu){
v=tansa(N,i);
//OI(i);
//OIV(v);
FOR(j,0,N){
p[v[j]] += E[j];
}
if(p[0]==p[1] and p[1]==p[2]){
ok=true;
break;
}
}
if(ok) OI("Yes");
else OI("No");
return 0;
}