169292025-05-15 19:34:40UVinceZárójelekcpp17Hibás válasz 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<<" ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms500 KiB
2Elfogadva7ms316 KiB
subtask20/11
3Elfogadva1ms316 KiB
4Hibás válasz1ms316 KiB
5Hibás válasz1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva6ms564 KiB
8Elfogadva6ms564 KiB
subtask30/6
9Elfogadva6ms508 KiB
10Hibás válasz6ms316 KiB
11Elfogadva6ms316 KiB
subtask414/14
12Elfogadva6ms428 KiB
13Elfogadva6ms428 KiB
subtask50/23
14Hibás válasz6ms316 KiB
15Hibás válasz6ms508 KiB
subtask60/19
16Elfogadva6ms428 KiB
17Elfogadva6ms400 KiB
18Elfogadva7ms436 KiB
19Hibás válasz6ms316 KiB
20Hibás válasz6ms512 KiB
21Hibás válasz4ms604 KiB
22Hibás válasz4ms316 KiB
23Hibás válasz4ms316 KiB
24Hibás válasz4ms404 KiB
subtask70/27
25Elfogadva6ms316 KiB
26Hibás válasz7ms316 KiB
27Hibás válasz7ms316 KiB
28Hibás válasz8ms320 KiB
29Hibás válasz8ms580 KiB
30Elfogadva21ms1788 KiB
31Hibás válasz6ms316 KiB
32Hibás válasz7ms516 KiB
33Hibás válasz6ms316 KiB
34Hibás válasz7ms484 KiB
35Hibás válasz6ms316 KiB
36Hibás válasz7ms564 KiB
37Elfogadva4ms316 KiB
38Hibás válasz6ms316 KiB
39Hibás válasz9ms952 KiB
40Elfogadva4ms316 KiB
41Hibás válasz2ms412 KiB
42Hibás válasz4ms528 KiB
43Hibás válasz4ms548 KiB