結果
| 問題 |
No.1594 Three Classes
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-07-16 01:21:35 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,348 bytes |
| コンパイル時間 | 1,513 ms |
| コンパイル使用メモリ | 170,676 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-16 08:29:24 |
| 合計ジャッジ時間 | 4,700 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 WA * 1 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define REP(i,n) for (int i = 0; i < (n); ++i)
template<class T> inline bool chmin(T& a, T b) {if (a > b) {a = b;return true;}return false;}
template<class T> inline bool chmax(T& a, T b) {if (a < b) {a = b;return true;}return false;}
using ll = long long;
using P = pair<int,int>;
using Pl = pair<long long,long long>;
using veci = vector<int>;
using vecl = vector<long long>;
using vecveci = vector<vector<int>>;
using vecvecl = vector<vector<long long>>;
const int MOD = 1000000007;
const double pi = acos(-1);
ll gcd(ll a, ll b) {if(b == 0) return a; else return gcd(b,a%b);}
ll lcm(ll a, ll b) {return a*b/gcd(a,b);}
void rec(int N, veci E, ll &ans, veci unko) {
if(unko.size() == N) {
int A = 0, B = 0, C = 0;
REP(i,N) {
int t = unko[i];
if(t == 0) A += E[i];
else if(t == 1) B += E[i];
else C += E[i];
if(A == B && B == C) ans++;
}
} else if(unko.size() > N) return;
for(int k = 0; k < 3; k++) {
unko.push_back(k);
rec(N,E,ans,unko);
unko.pop_back();
}
}
int main() {
int N; cin >> N;
veci E(N);
REP(i,N) cin >> E[i];
ll ans = 0;
veci unko;
rec(N,E,ans,unko);
if(ans) cout << "Yes" << endl;
else cout << "No" << endl;
return 0;
}