結果

問題 No.505 カードの数式2
ユーザー beetbeet
提出日時 2017-04-21 22:26:18
言語 C++11
(gcc 13.3.0)
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 437 bytes
コンパイル時間 1,295 ms
コンパイル使用メモリ 163,564 KB
実行使用メモリ 157,468 KB
最終ジャッジ日時 2024-09-25 02:06:20
合計ジャッジ時間 6,470 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25 TLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;
int a[20];
int ans=-(1LL<<55LL);
set<int> si[20];
void dfs(int v,int s){
  if(v==n){
    ans=max(ans,s);
    return;
  }
  if(si[v].count(s)) return;
  si[v].insert(s);
  dfs(v+1,s+a[v]);
  dfs(v+1,s-a[v]);
  dfs(v+1,s*a[v]);
  if(a[v]) dfs(v+1,s/a[v]);
}
signed main(){
  cin>>n;
  for(int i=0;i<n;i++) cin>>a[i];
  dfs(1,a[0]);
  cout<<ans<<endl;
  return 0;
}
0