169312025-05-15 19:55:45UVinceZárójelekcpp17Wrong answer 43/10023ms1808 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));
        /*else {
            int sum2=0;
            int mn2=1e6;

            for (char c : s){
                if (c==')') sum2++;
                else sum2--;
                mn2=min(mn2, sum2);
            }
            sub.push_back(sor(mn, sum, i));
        }*/
    }
    sort(add.rbegin(), add.rend());
    sort(sub.begin(), sub.end());
    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
1Accepted1ms508 KiB
2Accepted7ms316 KiB
subtask20/11
3Accepted1ms316 KiB
4Wrong answer1ms500 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted6ms508 KiB
8Accepted7ms564 KiB
subtask36/6
9Accepted7ms496 KiB
10Accepted6ms500 KiB
11Accepted6ms316 KiB
subtask414/14
12Accepted6ms316 KiB
13Accepted6ms508 KiB
subtask523/23
14Accepted6ms316 KiB
15Accepted6ms316 KiB
subtask60/19
16Accepted6ms432 KiB
17Accepted7ms416 KiB
18Accepted7ms412 KiB
19Accepted6ms408 KiB
20Accepted6ms500 KiB
21Wrong answer4ms316 KiB
22Wrong answer4ms316 KiB
23Wrong answer4ms316 KiB
24Wrong answer4ms316 KiB
subtask70/27
25Accepted7ms316 KiB
26Accepted7ms316 KiB
27Accepted8ms316 KiB
28Accepted8ms316 KiB
29Accepted9ms564 KiB
30Accepted23ms1808 KiB
31Accepted7ms316 KiB
32Accepted7ms516 KiB
33Accepted7ms644 KiB
34Accepted8ms480 KiB
35Accepted6ms500 KiB
36Accepted8ms564 KiB
37Accepted6ms508 KiB
38Accepted6ms352 KiB
39Accepted12ms1020 KiB
40Wrong answer3ms316 KiB
41Wrong answer2ms316 KiB
42Wrong answer4ms316 KiB
43Wrong answer4ms316 KiB