結果
問題 |
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); } }