結果

問題 No.2343 (l+r)/2
ユーザー ytqm3
提出日時 2023-06-03 13:46:52
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
MLE  
実行時間 -
コード長 685 bytes
コンパイル時間 2,065 ms
コンパイル使用メモリ 195,788 KB
最終ジャッジ日時 2025-02-13 22:13:48
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 2 TLE * 2 MLE * 10
権限があれば一括ダウンロードができます

ソースコード

diff #

#include "bits/stdc++.h"
using namespace std;

int solve(int m, vector< int > A) {
  int N = A.size();
  if (N == 1) {
    return (A[0]==(1<<(m-1)));
  }
  int res = 0;
  for (int i = 0; i < N - 1; ++i) {
    vector< int > B(N - 1);
    for (int j = 0; j < i; ++j) {
      B[j] = A[j];
    }
    B[i] = (A[i] + A[i + 1]) / 2;
    for (int j = i + 2; j < N; ++j) {
      B[j - 1] = A[j];
    }
    res |= solve(m, B);
    if(res==1){ break; }
  }
  return res;
}

void sub(){
  int N;
  cin >> N;
  vector< int > A(N);
  for (auto& v : A) {
    cin >> v;
    v *= (1 << N);
  }
  cout<<(solve(N, A) ? "Yes" : "No")<<endl;
}

int main(){
  int T;
  cin>>T;
  while(T--){
    sub();
  }
}
0