結果
問題 | No.1594 Three Classes |
ユーザー | lynmisakura |
提出日時 | 2021-07-09 21:35:01 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 41 ms / 2,000 ms |
コード長 | 793 bytes |
コンパイル時間 | 1,939 ms |
コンパイル使用メモリ | 194,484 KB |
最終ジャッジ日時 | 2025-01-22 21:00:31 |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
// code by lynmisakura. wish to be accepted! #include<bits/stdc++.h> using namespace std; #define REP(i,N) for(int i = 0;i < N;i++) using ll = long long; int main(void){ cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(15); int N; cin >> N; vector<int> E(N); REP(i,N) cin >> E[i]; REP(sup,(1<<N)){ int A = [&](){ int res = 0; REP(i,N) if(!(sup >> i & 1)) res += E[i]; return res; }(); int B = 0,C = 0; int sub = sup; do{ B = 0,C = 0; REP(i,N)if(sup >> i & 1){ if(sub >> i & 1) B += E[i]; else C += E[i]; } if(A == B && B == C){ cout << "Yes" << '\n'; return 0; } sub = (sub - 1) & sup; }while(sub != sup); } cout << "No" << '\n'; }