結果
| 問題 | No.1594 Three Classes | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2021-07-16 16:05:48 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 43 ms / 2,000 ms | 
| コード長 | 987 bytes | 
| コンパイル時間 | 1,829 ms | 
| コンパイル使用メモリ | 170,160 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-11-16 08:29:38 | 
| 合計ジャッジ時間 | 2,682 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 18 | 
ソースコード
//#include <atcoder/all>
#include <bits/stdc++.h>
using namespace std;
//using namespace atcoder;
using ll = long long;
#define all(A) A.begin(),A.end()
using vll = vector<ll>;
#define rep(i, n) for (long long i = 0; i < (long long)(n); i++)
using Graph = vector<vector<ll>>;
Graph G;
vll dist;
vector<bool> seen;
ll mod = 1e9 + 7;
int main() {
    ll N;
    cin>>N;
    vll E(N);
    rep(i,N)cin>>E[i];
    rep(bit, (1 << N)) {
       
        
        for (ll b = bit; b >= 0; b = (b - 1) & bit) {
             ll A=0,B=0,C=0;
            rep(i,N){
                if(b&(1<<i)){
                    A+=E[i];
                }
                else if(bit&(1<<i)){
                    B+=E[i];
                }
                else{
                    C+=E[i];
                }
            }
            if(A==B&&B==C){
               
                cout<<"Yes"<<endl;
                return 0;
            }
            if (b == 0)break;
        }
    }
    cout<<"No"<<endl;
}
            
            
            
        