169312025-05-15 19:55:45UVinceZárójelekcpp17Hibás válasz 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<<" ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms508 KiB
2Elfogadva7ms316 KiB
subtask20/11
3Elfogadva1ms316 KiB
4Hibás válasz1ms500 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva6ms508 KiB
8Elfogadva7ms564 KiB
subtask36/6
9Elfogadva7ms496 KiB
10Elfogadva6ms500 KiB
11Elfogadva6ms316 KiB
subtask414/14
12Elfogadva6ms316 KiB
13Elfogadva6ms508 KiB
subtask523/23
14Elfogadva6ms316 KiB
15Elfogadva6ms316 KiB
subtask60/19
16Elfogadva6ms432 KiB
17Elfogadva7ms416 KiB
18Elfogadva7ms412 KiB
19Elfogadva6ms408 KiB
20Elfogadva6ms500 KiB
21Hibás válasz4ms316 KiB
22Hibás válasz4ms316 KiB
23Hibás válasz4ms316 KiB
24Hibás válasz4ms316 KiB
subtask70/27
25Elfogadva7ms316 KiB
26Elfogadva7ms316 KiB
27Elfogadva8ms316 KiB
28Elfogadva8ms316 KiB
29Elfogadva9ms564 KiB
30Elfogadva23ms1808 KiB
31Elfogadva7ms316 KiB
32Elfogadva7ms516 KiB
33Elfogadva7ms644 KiB
34Elfogadva8ms480 KiB
35Elfogadva6ms500 KiB
36Elfogadva8ms564 KiB
37Elfogadva6ms508 KiB
38Elfogadva6ms352 KiB
39Elfogadva12ms1020 KiB
40Hibás válasz3ms316 KiB
41Hibás válasz2ms316 KiB
42Hibás válasz4ms316 KiB
43Hibás válasz4ms316 KiB