169292025-05-15 19:34:40UVinceZárójelekcpp17Wrong answer 14/10021ms1788 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){
        cout<<-1;
        return 0;
    }

    for (int i : ans) cout<<i<<" ";
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms500 KiB
2Accepted7ms316 KiB
subtask20/11
3Accepted1ms316 KiB
4Wrong answer1ms316 KiB
5Wrong answer1ms316 KiB
6Accepted1ms316 KiB
7Accepted6ms564 KiB
8Accepted6ms564 KiB
subtask30/6
9Accepted6ms508 KiB
10Wrong answer6ms316 KiB
11Accepted6ms316 KiB
subtask414/14
12Accepted6ms428 KiB
13Accepted6ms428 KiB
subtask50/23
14Wrong answer6ms316 KiB
15Wrong answer6ms508 KiB
subtask60/19
16Accepted6ms428 KiB
17Accepted6ms400 KiB
18Accepted7ms436 KiB
19Wrong answer6ms316 KiB
20Wrong answer6ms512 KiB
21Wrong answer4ms604 KiB
22Wrong answer4ms316 KiB
23Wrong answer4ms316 KiB
24Wrong answer4ms404 KiB
subtask70/27
25Accepted6ms316 KiB
26Wrong answer7ms316 KiB
27Wrong answer7ms316 KiB
28Wrong answer8ms320 KiB
29Wrong answer8ms580 KiB
30Accepted21ms1788 KiB
31Wrong answer6ms316 KiB
32Wrong answer7ms516 KiB
33Wrong answer6ms316 KiB
34Wrong answer7ms484 KiB
35Wrong answer6ms316 KiB
36Wrong answer7ms564 KiB
37Accepted4ms316 KiB
38Wrong answer6ms316 KiB
39Wrong answer9ms952 KiB
40Accepted4ms316 KiB
41Wrong answer2ms412 KiB
42Wrong answer4ms528 KiB
43Wrong answer4ms548 KiB