// 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 | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 8ms | 316 KiB | ||||
| subtask2 | 11/11 | ||||||
| 3 | Elfogadva | 1ms | 316 KiB | ||||
| 4 | Elfogadva | 1ms | 332 KiB | ||||
| 5 | Elfogadva | 1ms | 316 KiB | ||||
| 6 | Elfogadva | 1ms | 332 KiB | ||||
| 7 | Elfogadva | 8ms | 424 KiB | ||||
| 8 | Elfogadva | 8ms | 528 KiB | ||||
| subtask3 | 6/6 | ||||||
| 9 | Elfogadva | 8ms | 448 KiB | ||||
| 10 | Elfogadva | 7ms | 452 KiB | ||||
| 11 | Elfogadva | 7ms | 440 KiB | ||||
| subtask4 | 14/14 | ||||||
| 12 | Elfogadva | 7ms | 544 KiB | ||||
| 13 | Elfogadva | 7ms | 464 KiB | ||||
| subtask5 | 23/23 | ||||||
| 14 | Elfogadva | 7ms | 512 KiB | ||||
| 15 | Elfogadva | 7ms | 444 KiB | ||||
| subtask6 | 19/19 | ||||||
| 16 | Elfogadva | 8ms | 316 KiB | ||||
| 17 | Elfogadva | 8ms | 440 KiB | ||||
| 18 | Elfogadva | 8ms | 440 KiB | ||||
| 19 | Elfogadva | 7ms | 448 KiB | ||||
| 20 | Elfogadva | 7ms | 468 KiB | ||||
| 21 | Elfogadva | 6ms | 512 KiB | ||||
| 22 | Elfogadva | 4ms | 520 KiB | ||||
| 23 | Elfogadva | 6ms | 420 KiB | ||||
| 24 | Elfogadva | 4ms | 316 KiB | ||||
| subtask7 | 27/27 | ||||||
| 25 | Elfogadva | 8ms | 432 KiB | ||||
| 26 | Elfogadva | 9ms | 476 KiB | ||||
| 27 | Elfogadva | 9ms | 436 KiB | ||||
| 28 | Elfogadva | 10ms | 460 KiB | ||||
| 29 | Elfogadva | 14ms | 604 KiB | ||||
| 30 | Elfogadva | 32ms | 1624 KiB | ||||
| 31 | Elfogadva | 8ms | 384 KiB | ||||
| 32 | Elfogadva | 8ms | 544 KiB | ||||
| 33 | Elfogadva | 8ms | 452 KiB | ||||
| 34 | Elfogadva | 9ms | 444 KiB | ||||
| 35 | Elfogadva | 7ms | 424 KiB | ||||
| 36 | Elfogadva | 9ms | 564 KiB | ||||
| 37 | Elfogadva | 7ms | 472 KiB | ||||
| 38 | Elfogadva | 7ms | 316 KiB | ||||
| 39 | Elfogadva | 17ms | 820 KiB | ||||
| 40 | Elfogadva | 4ms | 316 KiB | ||||
| 41 | Elfogadva | 2ms | 316 KiB | ||||
| 42 | Elfogadva | 7ms | 452 KiB | ||||
| 43 | Elfogadva | 6ms | 440 KiB | ||||