結果

問題 No.1594 Three Classes
コンテスト
ユーザー kanzakihikaru
提出日時 2021-07-09 22:09:49
言語 C++14
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=c++14 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 21 ms / 2,000 ms
コード長 1,313 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,704 ms
コンパイル使用メモリ 182,608 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-05-11 13:48:18
合計ジャッジ時間 2,278 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <bits/stdc++.h>
#include <string>

#define rep(i,n) for(ll i=0;i < (n);i++)
#define rep2(i, s, n) for (ll i = (s); i < (n); i++)
#define rrep(i,n) for(ll i=n-1;i>=0;i--)
#define ff first
#define ss second
#define pb push_back
#define ALL(a) (a).begin(),(a).end()

typedef long long ll;

const ll INF=1000000000000000000ll;
const ll MOD=1000000007ll;
const int MAX=5100000;

using namespace std;

// aよりもbが大きいならばaをbで更新する
// (更新されたならばtrueを返す)
template <typename T>
bool chmax(T &a, const T& b) {
  if (a < b) {
    a = b;  // aをbで更新
    return true;
  }
  return false;
}
// aよりもbが小さいならばaをbで更新する
// (更新されたならばtrueを返す)
template <typename T>
bool chmin(T &a, const T& b) {
  if (a > b) {
    a = b;  // aをbで更新
    return true;
  }
  return false;
}

int main()
{
	cin.tie(0);	ios::sync_with_stdio(false);
  ll N, tmp; cin >> N;
  vector<ll> E(N); rep(i, N){cin >> E.at(i);}
  ll Max = 1; rep(i, N){Max *= 3;}
  ll sum[3];

  for(ll bit = 0; bit < Max; bit++){
    tmp = bit; rep(i, 3){sum[i] = 0;}
    rep(i, N){sum[tmp % 3] += E[i]; tmp -= tmp % 3; tmp /= 3;}
    if(sum[0] == sum[1] && sum[1] == sum[2]){cout << "Yes" << endl; return 0;}  
  }
  cout << "No" << endl;

  return 0;
}
0