結果

問題 No.332 数列をプレゼントに
ユーザー 🐬hec
提出日時 2015-12-25 01:32:26
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
MLE  
実行時間 -
コード長 598 bytes
コンパイル時間 1,575 ms
コンパイル使用メモリ 170,516 KB
実行使用メモリ 426,912 KB
最終ジャッジ日時 2024-09-18 23:34:48
合計ジャッジ時間 4,908 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other MLE * 1 -- * 41
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<n;++i)
using namespace std;
using ll=long long ;

int n;
ll x,a[110];
map<ll,ll> dp[110];

int main(void){
	cin >> n >> x;
	rep(i,n) cin >> a[i];

	dp[0][0]=-1;
	rep(i,n){
		for(auto &it:dp[i]){
			ll cur=it.first;
			dp[i+1][cur]=cur;
			dp[i+1][cur+a[i]]=cur;
		}		
	}

	if(dp[n].find(x)!=dp[n].end()){
		string ans="";
		ll cur=x;
		for(int i=n;i>0;--i){
			if(cur!=dp[i][cur]){
				ans+="o";
			}else{
				ans+="x";
			}
			cur=dp[i][cur];
		}
		reverse(ans.begin(),ans.end());
		cout << ans << endl;
	}else{
		puts("No");
	}
	return 0;
}
0