結果
問題 |
No.1594 Three Classes
|
ユーザー |
![]() |
提出日時 | 2021-07-10 10:26:04 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 6 ms / 2,000 ms |
コード長 | 644 bytes |
コンパイル時間 | 1,553 ms |
コンパイル使用メモリ | 169,052 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-16 08:24:48 |
合計ジャッジ時間 | 2,335 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll=long long; constexpr ll mod=1e9+7; ll n; vector<ll> e; bool isPossible(ll now = 0, ll pa = 0, ll pb = 0, ll pc = 0) { if (now == e.size()) { return pa == pb && pb == pc; } bool ans = false; // now -> a ans |= isPossible(now+1, pa+e[now], pb, pc); // now -> b ans |= isPossible(now+1, pa, pb+e[now], pc); // now -> c ans |= isPossible(now+1, pa, pb, pc+e[now]); return ans; } int main() { cin.tie(0); ios_base::sync_with_stdio(false); cin>>n; e.resize(n); for (auto&& e: e) { cin>>e; } if (isPossible()) cout << "Yes\n"; else cout << "No\n"; }