53182023-04-25 21:30:52rmlanZárójelekcpp14Hibás válasz 43/10025ms6892 KiB
#include<bits/stdc++.h>
using namespace std;

struct z{
    int b=0,r=0,id;
};
bool comp(z a, z b){
    return a.r < b.r;
}
bool comp2(z a, z b){
    return a.r-a.b > b.r-b.b;
}

int main(){
    int n;
    cin >> n;
    vector<z> pos,neg;
    for(int i = 1; i <= n; i++){
        string s;
        cin >> s;
        z c;
        c.id = i;
        for(int j = 0; j < s.length(); j++){
            if(s[j]=='('){
                c.b++;
            }else{
                c.b--;
            }
            c.r = min(c.r, c.b);
        }
        c.r = abs(c.r);
        if(c.b >= 0){
            pos.push_back(c);
        }else{
            neg.push_back(c);
        }

    }
    sort(pos.begin(), pos.end(), comp);
    sort(neg.begin(), neg.end(), comp2);
    int b=0;
    vector<int> ans;
    for(z i:pos){
        if(i.r > b){
            cout << -1;
            return 0;
        }
        ans.push_back(i.id);
        b+=i.b;
    }
    for(z i:neg){
        if(i.r > b || b < 0){
            cout << -1;
            return 0;
        }
        ans.push_back(i.id);
        b+=i.b;
    }
    if(b != 0){
        cout << "-1";
        return 0;

    }
    for(int i:ans){
        cout << i << " ";
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1808 KiB
2Elfogadva8ms2236 KiB
subtask20/11
3Elfogadva3ms2384 KiB
4Hibás válasz3ms2552 KiB
5Elfogadva3ms2656 KiB
6Elfogadva3ms2860 KiB
7Elfogadva7ms3324 KiB
8Elfogadva8ms3552 KiB
subtask36/6
9Elfogadva8ms3556 KiB
10Elfogadva8ms3704 KiB
11Elfogadva8ms3788 KiB
subtask414/14
12Elfogadva8ms3768 KiB
13Elfogadva8ms3668 KiB
subtask523/23
14Elfogadva8ms3744 KiB
15Elfogadva8ms3736 KiB
subtask60/19
16Elfogadva8ms3648 KiB
17Elfogadva8ms3840 KiB
18Elfogadva8ms4200 KiB
19Elfogadva8ms4528 KiB
20Elfogadva8ms4364 KiB
21Hibás válasz6ms4664 KiB
22Hibás válasz6ms4620 KiB
23Hibás válasz6ms4616 KiB
24Hibás válasz6ms4620 KiB
subtask70/27
25Elfogadva8ms4560 KiB
26Elfogadva8ms4668 KiB
27Elfogadva8ms4780 KiB
28Elfogadva8ms4780 KiB
29Elfogadva12ms4968 KiB
30Elfogadva25ms6892 KiB
31Elfogadva8ms4944 KiB
32Elfogadva9ms5012 KiB
33Elfogadva8ms4824 KiB
34Elfogadva9ms4996 KiB
35Elfogadva8ms4872 KiB
36Elfogadva9ms5036 KiB
37Elfogadva8ms4784 KiB
38Elfogadva8ms4796 KiB
39Elfogadva14ms5676 KiB
40Hibás válasz4ms4816 KiB
41Hibás válasz4ms4944 KiB
42Hibás válasz7ms5252 KiB
43Hibás válasz6ms5188 KiB