117222024-11-07 17:13:57hunzombiBob Baba Zárójelsorozatacpp17Elfogadva 100/100116ms3468 KiB
#include <bits/stdc++.h>

using namespace std;

int N;
int x;
int values[501];
bitset<50001> dp[502];

int main()
{
    //ifstream cin("input.txt");
    //ofstream cout("output.txt");

    //ios::sync_with_stdio(false);
    //cin.tie(nullptr);

    cin >> N;

    cin >> x;
    dp[1][x] = 1;
    values[1] = x;

    for (int i=2; i <= N; i++) {
        cin >> x;
        values[i] = x;
        for (int j=0; j < 50001; j++){
            if (dp[i - 1][j] == 1){
                if (j - x >= 0){
                    dp[i][j - x] = 1;
                }
                if (j + x <= 50000){
                    dp[i][j + x] = 1;
                }
            }
        }
    }

    if (dp[N][0] == 0){
        cout << -1 << '\n';
        return 0;
    }

    string res = "";
    int j = 0;
    for (int i = N; i >= 1; i--){
        if (((j - values[i] >= 0 && dp[i - 1][j - values[i]] == 1) || (i == 1)) && i != N){
            j = j - values[i];
            for (int k=0; k < values[i]; k++){
                res = "(" + res;
            }
        } else {
            j = j + values[i];
            for (int k=0; k < values[i]; k++){
                res = ")" + res;
            }
        }
    }

    cout << res << '\n';

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms320 KiB
2Elfogadva1ms320 KiB
3Elfogadva1ms320 KiB
subtask220/20
4Elfogadva1ms320 KiB
5Elfogadva1ms320 KiB
6Elfogadva2ms320 KiB
subtask330/30
7Elfogadva2ms396 KiB
8Elfogadva3ms320 KiB
9Elfogadva3ms424 KiB
10Elfogadva3ms428 KiB
11Elfogadva2ms320 KiB
subtask450/50
12Elfogadva65ms3188 KiB
13Elfogadva115ms3432 KiB
14Elfogadva116ms3468 KiB
15Elfogadva115ms3404 KiB
16Elfogadva64ms3228 KiB
17Elfogadva65ms3264 KiB
18Elfogadva34ms1840 KiB
19Elfogadva83ms2032 KiB
20Elfogadva83ms2004 KiB
21Elfogadva83ms2104 KiB
22Elfogadva32ms1700 KiB
23Elfogadva34ms1848 KiB
24Elfogadva14ms832 KiB
25Elfogadva64ms1136 KiB
26Elfogadva64ms1084 KiB
27Elfogadva14ms824 KiB
28Elfogadva13ms856 KiB
29Elfogadva14ms824 KiB
30Elfogadva8ms748 KiB
31Elfogadva57ms812 KiB
32Elfogadva54ms840 KiB
33Elfogadva7ms560 KiB
34Elfogadva7ms600 KiB
35Elfogadva7ms580 KiB
36Elfogadva57ms784 KiB
37Elfogadva54ms680 KiB
38Elfogadva57ms824 KiB
39Elfogadva61ms952 KiB
40Elfogadva63ms1052 KiB
41Elfogadva64ms1072 KiB
42Elfogadva64ms1016 KiB
43Elfogadva64ms1080 KiB
44Elfogadva68ms1164 KiB
45Elfogadva68ms1328 KiB
46Elfogadva75ms1592 KiB
47Elfogadva75ms1592 KiB
48Elfogadva76ms1592 KiB
49Elfogadva78ms1840 KiB
50Elfogadva81ms2008 KiB
51Elfogadva90ms2444 KiB
52Elfogadva92ms2336 KiB
53Elfogadva93ms2420 KiB
54Elfogadva101ms2872 KiB
55Elfogadva112ms3384 KiB
56Elfogadva103ms2828 KiB
57Elfogadva90ms2360 KiB
58Elfogadva92ms2400 KiB