結果
問題 | No.1594 Three Classes |
ユーザー | irona |
提出日時 | 2021-07-09 21:36:40 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 236 ms / 2,000 ms |
コード長 | 1,244 bytes |
コンパイル時間 | 3,590 ms |
コンパイル使用メモリ | 231,676 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-16 07:35:57 |
合計ジャッジ時間 | 6,471 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include<bits/stdc++.h> #include <atcoder/all> #define ll long long int #define vec vector<ll> #define mat vector<vector<ll>> #define pll pair<ll,ll> #define count __builtin_popcountll using namespace std; using namespace atcoder; //using mint = modint1000000007; const ll mod=1000000007;//998244353; const ll inf=1000000000000000000; ll dx4[4]={1,0,-1,0}; ll dy4[4]={0,-1,0,1}; ll dx8[8]={1,0,-1,1,-1,1,0,-1}; ll dy8[8]={1,1,1,0,0,-1,-1,-1}; vec psin(ll a,ll p){ ll q=p; ll r=1; vec s; if(a==0){ s={0}; return s; } while(a!=0){ s.push_back(a%p); a/=p; } reverse(s.begin(),s.end()); return s; } int main(){ cout << fixed << setprecision(15); ll n; cin >> n; vec e(n); for(ll i=0;i<n;i++)cin >> e[i]; vec a(15); a[0]=1; for(ll i=0;i<14;i++){ a[i+1]=a[i]*3; } bool ok=0; for(ll i=0;i<a[n];i++){ vec v=psin(i,3); ll m=v.size(); vec u(n-m,0); for(ll j=0;j<v.size();j++){ u.push_back(v[j]); } ll x=0,y=0,z=0; for(ll j=0;j<n;j++){ if(u[j]==0)x+=e[j]; else if(u[j]==1)y+=e[j]; else z+=e[j]; } if(x==y && y==z){ ok=1; } if(ok)break; } if(ok)cout << "Yes" << endl; else cout << "No" << endl; return 0; }