167772025-05-12 22:26:31TaxiradioZárójelekcpp17Elfogadva 100/10032ms1624 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

array<int , 3> c(string b){
    int x = 0, y = 0 , z = 0;
    for(int i = b.size()-1; i >= 0; i--){
        if(b[i] == '('){
            x--;
            z = min(x , z);
        }else{
            x++;
        }
    }
    x = 0;
    for(int i = 0; i < b.size(); i++){
        if(b[i] == ')'){
            x--;
            y = min(x , y);
        }else{
            x++;
        }
    }
    return {x , y , z};
}

int main() {
	int n; cin >> n;
    vector<array<int , 3>> a , d;
    int k = 0;
    for(int i = 0; i < n; i++){
        string b; cin >> b;
        array<int , 3> o = c(b);
        k += o[0];
        if(o[0] >= 0)a.push_back({-o[1] , o[0] , i});else d.push_back({-o[2] , -o[0] , i});
    }
    if(k != 0){
        cout << "-1" << endl;
        return 0;
    }
    sort(a.begin() , a.end());
    sort(d.begin() , d.end());
    vector<int> ans1 , ans2;
    int h = 0;
    for(int i = 0; i < a.size(); i++){
        if(a[i][0] <= h){
            ans1.push_back(a[i][2]);
            h += a[i][1];
        }else{
            cout << "-1" << endl;
            return 0;
        }
    }
    h = 0;
    for(int i = 0; i < d.size(); i++){
        if(d[i][0] <= h){
            ans2.push_back(d[i][2]);
            h += d[i][1];
        }else{
            cout << "-1" << endl;
            return 0;
        }
    }
    for(int x : ans1)cout << x+1 << " ";
    reverse(ans2.begin() , ans2.end());
    for(int x : ans2)cout << x+1 << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Elfogadva8ms316 KiB
subtask211/11
3Elfogadva1ms316 KiB
4Elfogadva1ms332 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms332 KiB
7Elfogadva8ms424 KiB
8Elfogadva8ms528 KiB
subtask36/6
9Elfogadva8ms448 KiB
10Elfogadva7ms452 KiB
11Elfogadva7ms440 KiB
subtask414/14
12Elfogadva7ms544 KiB
13Elfogadva7ms464 KiB
subtask523/23
14Elfogadva7ms512 KiB
15Elfogadva7ms444 KiB
subtask619/19
16Elfogadva8ms316 KiB
17Elfogadva8ms440 KiB
18Elfogadva8ms440 KiB
19Elfogadva7ms448 KiB
20Elfogadva7ms468 KiB
21Elfogadva6ms512 KiB
22Elfogadva4ms520 KiB
23Elfogadva6ms420 KiB
24Elfogadva4ms316 KiB
subtask727/27
25Elfogadva8ms432 KiB
26Elfogadva9ms476 KiB
27Elfogadva9ms436 KiB
28Elfogadva10ms460 KiB
29Elfogadva14ms604 KiB
30Elfogadva32ms1624 KiB
31Elfogadva8ms384 KiB
32Elfogadva8ms544 KiB
33Elfogadva8ms452 KiB
34Elfogadva9ms444 KiB
35Elfogadva7ms424 KiB
36Elfogadva9ms564 KiB
37Elfogadva7ms472 KiB
38Elfogadva7ms316 KiB
39Elfogadva17ms820 KiB
40Elfogadva4ms316 KiB
41Elfogadva2ms316 KiB
42Elfogadva7ms452 KiB
43Elfogadva6ms440 KiB