結果

問題 No.10 +か×か
コンテスト
ユーザー himueu
提出日時 2026-10-15 17:29:50
言語 C++23(gcc16)
(gcc 16.2.0 + boost 1.92.0 + ACL)
コンパイル:
g++-16 -O2 -lm -std=c++23 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
RE  
実行時間 -
コード長 710 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 3,831 ms
コンパイル使用メモリ 202,860 KB
実行使用メモリ 9,904 KB
最終ジャッジ日時 2026-10-15 17:29:58
合計ジャッジ時間 7,023 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2 RE * 11
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <algorithm>
#include <iostream>
#include <string>
#include <vector>

int main() {
    using namespace std;
    int n, tot;
    cin >> n >> tot;
    vector<int> a(n);
    for (auto &e : a) { cin >> e; }

    vector<string> ans;
    auto dfs = [&](auto dfs, int n, int i, string s) -> void {
        if (i == 0 && n == a[i]) {
            reverse(s.begin(), s.end());
            ans.push_back(s);
            return;
        }
        if (a[i] < n) { dfs(dfs, n - a[i], i - 1, s + '+'); }
        if (n % a[i] == 0) { dfs(dfs, n / a[i], i - 1, s + '*'); }
    };
    dfs(dfs, tot, n - 1, "");

    sort(ans.begin(), ans.end(), [](auto lhs, auto rhs) {return lhs > rhs; });
    cout << ans[0] << endl;
}
0