結果
| 問題 |
No.332 数列をプレゼントに
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-12-25 23:56:13 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,083 bytes |
| コンパイル時間 | 604 ms |
| コンパイル使用メモリ | 62,820 KB |
| 実行使用メモリ | 13,760 KB |
| 最終ジャッジ日時 | 2024-09-19 00:06:41 |
| 合計ジャッジ時間 | 4,449 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | WA * 1 TLE * 1 -- * 40 |
ソースコード
#include <cstdlib>
#include <iostream>
#include <vector>
static void
solve(
long long int acc,
long long int x,
std::string answer,
const std::vector<int> &va,
std::vector<int>::size_type idx);
int
main(void)
{
std::cin.tie(0);
std::ios::sync_with_stdio(false);
int n;
long long int x;
std::cin >> n >> x;
std::vector<int> va;
for (int i = 0; i < n; i++) {
int a;
std::cin >> a;
if (a <= x) {
va.push_back(a);
}
}
solve(0, x, "", va, 0);
std::cout << "No" << std::endl;
return EXIT_SUCCESS;
}
static void
solve(
long long int acc,
long long int x,
std::string answer,
const std::vector<int> &va,
std::vector<int>::size_type idx)
{
if (acc == x) {
std::cout << answer;
for (std::vector<int>::size_type i = idx, size = va.size(); i < size; i++) {
std::cout.put('x');
}
std::exit(EXIT_SUCCESS);
} else if (idx == va.size() || acc > x) {
return;
} else {
solve(acc + va[idx], x, answer + "o", va, idx + 1);
solve(acc, x, answer + "x", va, idx + 1);
}
}