169302025-05-15 19:37:16UVinceZárójelekcpp17Hibás válasz 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<<" ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva7ms436 KiB
subtask20/11
3Elfogadva1ms316 KiB
4Hibás válasz1ms320 KiB
5Hibás válasz1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva6ms508 KiB
8Elfogadva6ms436 KiB
subtask36/6
9Elfogadva6ms424 KiB
10Elfogadva6ms436 KiB
11Elfogadva6ms404 KiB
subtask414/14
12Elfogadva6ms316 KiB
13Elfogadva6ms508 KiB
subtask50/23
14Hibás válasz6ms316 KiB
15Hibás válasz6ms316 KiB
subtask60/19
16Elfogadva6ms648 KiB
17Elfogadva7ms320 KiB
18Elfogadva7ms508 KiB
19Hibás válasz6ms412 KiB
20Hibás válasz6ms500 KiB
21Hibás válasz4ms400 KiB
22Hibás válasz4ms316 KiB
23Hibás válasz4ms500 KiB
24Hibás válasz4ms316 KiB
subtask70/27
25Elfogadva6ms536 KiB
26Hibás válasz7ms316 KiB
27Hibás válasz7ms508 KiB
28Hibás válasz8ms316 KiB
29Hibás válasz8ms760 KiB
30Elfogadva21ms1644 KiB
31Hibás válasz6ms316 KiB
32Hibás válasz7ms656 KiB
33Hibás válasz6ms316 KiB
34Hibás válasz7ms316 KiB
35Hibás válasz6ms316 KiB
36Hibás válasz7ms520 KiB
37Elfogadva4ms316 KiB
38Hibás válasz6ms440 KiB
39Hibás válasz9ms820 KiB
40Elfogadva4ms404 KiB
41Hibás válasz2ms316 KiB
42Hibás válasz4ms316 KiB
43Hibás válasz4ms316 KiB