169302025-05-15 19:37:16UVinceZárójelekcpp17Wrong answer 20/10021ms1644 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

struct sor{
    int mn;
    int sum;
    int idx;
    sor(int x,int y,int z){
        mn=x;
        sum=y;
        idx=z;
    }
    bool operator< (const sor &c) const {
        return mn < c.mn;
    }
};

int main(){
    int n;
    cin>>n;
    vector<sor> add, sub;
    for (int i=1;i<=n;i++){
        string s;
        cin>>s;
        int sum=0;
        int mn=1e6;
        for (char c : s){
            if (c=='(') sum++;
            else sum--;
            mn=min(mn, sum);
        }
        if (sum>=0) add.push_back(sor(mn, sum, i));
        else sub.push_back(sor(mn, sum, i));
    }
    sort(add.rbegin(), add.rend());
    vector<int> ans;
    int total=0;
    bool pos=true;

    for (auto i : add){
        if (total+i.mn<0) {
            pos=false; break;
        }

        ans.push_back(i.idx);
        total+=i.sum;
    }

    for (auto i : sub){
        if (total+i.mn<0) {
            pos=false; break;
        }

        ans.push_back(i.idx);
        total+=i.sum;
    }
    if (!pos || total!=0){
        cout<<-1;
        return 0;
    }

    for (int i : ans) cout<<i<<" ";
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted7ms436 KiB
subtask20/11
3Accepted1ms316 KiB
4Wrong answer1ms320 KiB
5Wrong answer1ms316 KiB
6Accepted1ms316 KiB
7Accepted6ms508 KiB
8Accepted6ms436 KiB
subtask36/6
9Accepted6ms424 KiB
10Accepted6ms436 KiB
11Accepted6ms404 KiB
subtask414/14
12Accepted6ms316 KiB
13Accepted6ms508 KiB
subtask50/23
14Wrong answer6ms316 KiB
15Wrong answer6ms316 KiB
subtask60/19
16Accepted6ms648 KiB
17Accepted7ms320 KiB
18Accepted7ms508 KiB
19Wrong answer6ms412 KiB
20Wrong answer6ms500 KiB
21Wrong answer4ms400 KiB
22Wrong answer4ms316 KiB
23Wrong answer4ms500 KiB
24Wrong answer4ms316 KiB
subtask70/27
25Accepted6ms536 KiB
26Wrong answer7ms316 KiB
27Wrong answer7ms508 KiB
28Wrong answer8ms316 KiB
29Wrong answer8ms760 KiB
30Accepted21ms1644 KiB
31Wrong answer6ms316 KiB
32Wrong answer7ms656 KiB
33Wrong answer6ms316 KiB
34Wrong answer7ms316 KiB
35Wrong answer6ms316 KiB
36Wrong answer7ms520 KiB
37Accepted4ms316 KiB
38Wrong answer6ms440 KiB
39Wrong answer9ms820 KiB
40Accepted4ms404 KiB
41Wrong answer2ms316 KiB
42Wrong answer4ms316 KiB
43Wrong answer4ms316 KiB