53122023-04-25 19:43:22rmlanZárójelekcpp14Hibás válasz 20/10017ms7012 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 > b.r;
}

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(), comp);
    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
2Elfogadva8ms2180 KiB
subtask20/11
3Elfogadva3ms2332 KiB
4Hibás válasz3ms2580 KiB
5Hibás válasz3ms2676 KiB
6Elfogadva2ms2724 KiB
7Elfogadva8ms3348 KiB
8Elfogadva8ms3556 KiB
subtask36/6
9Elfogadva8ms3560 KiB
10Elfogadva8ms3776 KiB
11Elfogadva8ms3876 KiB
subtask414/14
12Elfogadva8ms3740 KiB
13Elfogadva8ms3732 KiB
subtask50/23
14Hibás válasz8ms3812 KiB
15Hibás válasz8ms3700 KiB
subtask60/19
16Hibás válasz8ms3808 KiB
17Hibás válasz8ms4024 KiB
18Elfogadva8ms4376 KiB
19Hibás válasz8ms4268 KiB
20Hibás válasz8ms4532 KiB
21Hibás válasz6ms4640 KiB
22Hibás válasz6ms4512 KiB
23Hibás válasz6ms4512 KiB
24Hibás válasz6ms4512 KiB
subtask70/27
25Elfogadva8ms4588 KiB
26Hibás válasz8ms4576 KiB
27Hibás válasz8ms4612 KiB
28Hibás válasz8ms4624 KiB
29Hibás válasz9ms4968 KiB
30Hibás válasz17ms7012 KiB
31Hibás válasz8ms4968 KiB
32Hibás válasz8ms5008 KiB
33Hibás válasz8ms4932 KiB
34Hibás válasz8ms5092 KiB
35Hibás válasz8ms4968 KiB
36Hibás válasz9ms5128 KiB
37Elfogadva8ms4864 KiB
38Hibás válasz8ms4880 KiB
39Hibás válasz12ms5676 KiB
40Hibás válasz4ms4812 KiB
41Hibás válasz4ms4760 KiB
42Hibás válasz7ms4988 KiB
43Hibás válasz6ms4828 KiB