QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#226863#3168. Letter WheelsSolitaryDream#RE 0ms0kbC++171.7kb2023-10-26 17:25:542023-10-26 17:25:54

Judging History

This is the latest submission verdict.

  • [2023-10-26 17:25:54]
  • Judged
  • Verdict: RE
  • Time: 0ms
  • Memory: 0kb
  • [2023-10-26 17:25:54]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
const int N = 32;
inline set<vector<int>> Update(const set<vector<int>> &st, int x, int y) {
    static set<vector<int>> f[N][N];
    set<vector<int>> ans;
    for (auto vec : st) {
        int sm = x + y;
        f[0][x].insert({0});
        for (int k = 0; k < vec.size(); ++k) {
            for (int i = 0; i <= x; ++i) {
                int j = sm - i;
                if (j < 0 || j > y) continue;
                for (auto cur : f[k][i]) {
                    for (int d = 0; d <= vec[k]; ++d) if (d <= i && vec[k] - d <= j) {
                        vector<int> ncur(cur);
                        if (d) ncur.push_back(d);
                        if (vec[k] - d) ncur.push_back(vec[k] - d);
                        sort(ncur.begin(), ncur.end(), greater<int>());
                        f[k + 1][i - d].insert(ncur);
                    }
                }
            }
            sm -= vec[k];
        }
        for (auto cur : f[vec.size()][0]) {
            cur.pop_back();
            ans.insert(cur);
        }
        for (int k = 0; k <= vec.size(); ++k)
            for (int i = 0; i <= x; ++i) {
                    f[k][i].clear();
                }
    }
    return ans;
}
int main() {
    int n, m;
    cin >> n >> m;
    set<vector<int>> st;
    st.insert({n});
    for (int i = 1, x; i <= m; ++i) {
        cin >> x;
        st = Update(st, x, n - x);
        cout << st.size() << endl;
    }
    int ans = 0;
    for (auto vec : st) {
        int cur = 0;
        while (vec.size() && vec.back() == 1) ++cur, vec.pop_back();
        ans = max(ans, cur);
    }
    printf("%d\n", ans);
    return 0;
}

詳細信息

Test #1:

score: 0
Runtime Error

input:

ABC
ABC
ABC

output:


result: