116282024-11-01 13:11:41MagyarKendeSZLGBob Baba Zárójelsorozatacpp17Elfogadva 100/100165ms3396 KiB
#include <cassert>
#include <iostream>
#include <vector>

using namespace std;
using ll = long long;

const int MAXM = 50005;

int main() {
    cin.tie(0), ios::sync_with_stdio(0);

    int N;
    cin >> N;
    vector<int> a(N);
    for (int& x : a) cin >> x;

    vector dp(N, vector<bool>(MAXM));
    dp[0][a[0]] = 1;

    for (int i = 1; i < N; i++) {
        for (int j = 0; j < MAXM; j++) {
            dp[i][j] =
                (j + a[i] < MAXM && dp[i - 1][j + a[i]]) ||
                (j - a[i] >= 0 && dp[i - 1][j - a[i]]);
        }
    }

    if (dp[N - 1][0]) {
        vector<int> result(N);
        for (int i = N - 1, x = 0; i > 0; i--) {
            if (x + a[i] < MAXM && dp[i - 1][x + a[i]]) {
                x += a[i];
                result[i] = 1;
            } else {
                x -= a[i];
            }
        }

        for (int i = 0; i < N; i++) {
            cout << string(a[i], "()"[result[i]]);
        }

        cout << "\n";
    } else {
        cout << "-1\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva2ms320 KiB
2Elfogadva2ms320 KiB
3Elfogadva1ms320 KiB
subtask220/20
4Elfogadva1ms320 KiB
5Elfogadva1ms348 KiB
6Elfogadva1ms320 KiB
subtask330/30
7Elfogadva4ms320 KiB
8Elfogadva7ms320 KiB
9Elfogadva7ms556 KiB
10Elfogadva7ms552 KiB
11Elfogadva6ms320 KiB
subtask450/50
12Elfogadva163ms3384 KiB
13Elfogadva165ms3384 KiB
14Elfogadva165ms3384 KiB
15Elfogadva164ms3396 KiB
16Elfogadva165ms3384 KiB
17Elfogadva165ms3384 KiB
18Elfogadva82ms1972 KiB
19Elfogadva83ms1848 KiB
20Elfogadva82ms1848 KiB
21Elfogadva82ms1968 KiB
22Elfogadva82ms1848 KiB
23Elfogadva82ms1848 KiB
24Elfogadva34ms824 KiB
25Elfogadva34ms1080 KiB
26Elfogadva34ms1044 KiB
27Elfogadva34ms824 KiB
28Elfogadva34ms824 KiB
29Elfogadva34ms904 KiB
30Elfogadva17ms568 KiB
31Elfogadva17ms568 KiB
32Elfogadva17ms752 KiB
33Elfogadva17ms568 KiB
34Elfogadva17ms756 KiB
35Elfogadva17ms756 KiB
36Elfogadva14ms676 KiB
37Elfogadva9ms756 KiB
38Elfogadva14ms672 KiB
39Elfogadva23ms820 KiB
40Elfogadva28ms920 KiB
41Elfogadva28ms952 KiB
42Elfogadva30ms828 KiB
43Elfogadva29ms952 KiB
44Elfogadva41ms1172 KiB
45Elfogadva45ms1268 KiB
46Elfogadva61ms1592 KiB
47Elfogadva63ms1608 KiB
48Elfogadva65ms1592 KiB
49Elfogadva71ms1768 KiB
50Elfogadva79ms1940 KiB
51Elfogadva104ms2360 KiB
52Elfogadva119ms2684 KiB
53Elfogadva127ms2864 KiB
54Elfogadva146ms3188 KiB
55Elfogadva157ms3388 KiB
56Elfogadva130ms2884 KiB
57Elfogadva98ms2280 KiB
58Elfogadva104ms2372 KiB