53292023-04-25 22:27:30rmlanZárójelekcpp14Elfogadva 100/10025ms6820 KiB
#include<bits/stdc++.h>
using namespace std;

struct z{
    int b=0,r=0,id;
};
bool comp(z a, z b){
    return a.r < b.r;
}
bool comp2(z a, z b){
    return a.r+a.b > b.r+b.b;
}

int main(){
    int n;
    cin >> n;
    vector<z> pos,neg;
    for(int i = 1; i <= n; i++){
        string s;
        cin >> s;
        z c;
        c.id = i;
        for(int j = 0; j < s.length(); j++){
            if(s[j]=='('){
                c.b++;
            }else{
                c.b--;
            }
            c.r = min(c.r, c.b);
        }
        c.r = abs(c.r);
        if(c.b >= 0){
            pos.push_back(c);
        }else{
            neg.push_back(c);
        }

    }
    sort(pos.begin(), pos.end(), comp);
    sort(neg.begin(), neg.end(), comp2);
    int b=0;
    vector<int> ans;
    for(z i:pos){
        if(i.r > b){
            cout << -1;
            return 0;
        }
        ans.push_back(i.id);
        b+=i.b;
    }
    for(z i:neg){
        /*if(i.r > b || b < 0){
            cout << -1;
            return 0;
        }*/
        ans.push_back(i.id);
        b+=i.b;
    }
    if(b != 0){
        cout << "-1";
        return 0;

    }
    for(int i:ans){
        cout << i << " ";
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1808 KiB
2Elfogadva8ms2180 KiB
subtask211/11
3Elfogadva3ms2328 KiB
4Elfogadva3ms2540 KiB
5Elfogadva3ms2672 KiB
6Elfogadva3ms2728 KiB
7Elfogadva7ms3228 KiB
8Elfogadva7ms3448 KiB
subtask36/6
9Elfogadva8ms3188 KiB
10Elfogadva8ms3520 KiB
11Elfogadva8ms3472 KiB
subtask414/14
12Elfogadva8ms3672 KiB
13Elfogadva8ms3720 KiB
subtask523/23
14Elfogadva8ms3628 KiB
15Elfogadva8ms3936 KiB
subtask619/19
16Elfogadva7ms4020 KiB
17Elfogadva8ms4076 KiB
18Elfogadva8ms4156 KiB
19Elfogadva8ms4368 KiB
20Elfogadva8ms4328 KiB
21Elfogadva6ms4436 KiB
22Elfogadva6ms4368 KiB
23Elfogadva6ms4644 KiB
24Elfogadva6ms4580 KiB
subtask727/27
25Elfogadva7ms4516 KiB
26Elfogadva8ms4668 KiB
27Elfogadva8ms4676 KiB
28Elfogadva8ms4684 KiB
29Elfogadva10ms5052 KiB
30Elfogadva25ms6820 KiB
31Elfogadva8ms4832 KiB
32Elfogadva8ms4988 KiB
33Elfogadva8ms4676 KiB
34Elfogadva9ms4844 KiB
35Elfogadva8ms4752 KiB
36Elfogadva9ms5088 KiB
37Elfogadva7ms4856 KiB
38Elfogadva8ms4864 KiB
39Elfogadva14ms5748 KiB
40Elfogadva4ms4800 KiB
41Elfogadva4ms4748 KiB
42Elfogadva7ms4992 KiB
43Elfogadva6ms4976 KiB