結果
問題 |
No.1594 Three Classes
|
ユーザー |
|
提出日時 | 2021-12-09 17:14:19 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 36 ms / 2,000 ms |
コード長 | 1,178 bytes |
コンパイル時間 | 1,879 ms |
コンパイル使用メモリ | 193,284 KB |
最終ジャッジ日時 | 2025-01-26 07:17:14 |
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; template <typename T> inline bool chmax(T &a, const T &b) { if (a < b) { a = b; return true; } return false; } template <typename T> inline bool chmin(T &a, const T &b) { if (a > b) { a = b; return true; } return false; } // #include <atcoder> // using namespace atcoder; // using mint = modint1000000007; // using mint = modint998244353; // const int MOD = 1000000007; // const int MOD = 998244353; int N; vector<int> E(20); int cnt1 = 0, cnt2 = 0, cnt3 = 0; bool ok = 0; void dfs(int x) { if (x == N) { if (cnt1 == cnt2 && cnt2 == cnt3) { ok = 1; } return; } cnt1 += E[x]; dfs(x + 1); cnt1 -= E[x]; cnt2 += E[x]; dfs(x + 1); cnt2 -= E[x]; cnt3 += E[x]; dfs(x + 1); cnt3 -= E[x]; return; } int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); cin >> N; for (int i = 0; i < N; i++) { cin >> E[i]; } dfs(0); cout << (ok ? "Yes" : "No") << endl; return 0; }