10190 2024. 03. 29 11:39:25 111 Zárójelek cpp17 Hibás válasz 20/100 600ms 5300 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N;
	cin>>N;
	vector<tuple<int,int,int>>v(N);
	int x=0;
	for(int i=0;i<N;i++){
		string S;
		cin>>S;
		int y=0,z=0;
		for(char c:S){
			if(c=='('){
				y++;
			}
			else{
				y--;
				z=min(z,y);
			}
		}
		x+=y;
		v[i]={z,y,i};
	}
	if(x!=0){
		cout<<-1<<'\n';
		return 0;
	}
	vector<int>ans;
	while(ans.size()<N){
		int bi=-1,by=-1e6;
		int dc=1;
		for(int i=0;i<v.size();i++){
			auto[z,y,_]=v[i];
			if(y>=0){
				dc=0;
			}
		}
		for(int i=0;i<v.size();i++){
			auto[z,y,_]=v[i];
			if(x+z>=0&&(dc?y>by:y-z>by)){
				bi=i;
				by=dc?y>by:y-z>by;
			}
		}
		if(bi==-1){
			cout<<-1<<'\n';
			return 0;
		}
		x+=get<2>(v[bi]);
		ans.push_back(get<2>(v[bi]));
		v.erase(v.begin()+bi);
	}
	for(int i:ans){
		cout<<i+1<<' ';
	}
	cout<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1824 KiB
2 Hibás válasz 10ms 2288 KiB
subtask2 0/11
3 Elfogadva 3ms 2268 KiB
4 Hibás válasz 3ms 2488 KiB
5 Hibás válasz 3ms 2852 KiB
6 Elfogadva 3ms 2908 KiB
7 Elfogadva 4ms 3384 KiB
8 Elfogadva 4ms 3736 KiB
subtask3 6/6
9 Elfogadva 9ms 3488 KiB
10 Elfogadva 3ms 3432 KiB
11 Elfogadva 4ms 3684 KiB
subtask4 14/14
12 Elfogadva 9ms 3972 KiB
13 Elfogadva 7ms 4160 KiB
subtask5 0/23
14 Hibás válasz 8ms 4332 KiB
15 Hibás válasz 7ms 4164 KiB
subtask6 0/19
16 Elfogadva 4ms 4104 KiB
17 Elfogadva 6ms 4144 KiB
18 Hibás válasz 10ms 4420 KiB
19 Hibás válasz 7ms 4428 KiB
20 Hibás válasz 7ms 4468 KiB
21 Hibás válasz 8ms 4724 KiB
22 Hibás válasz 8ms 4824 KiB
23 Hibás válasz 8ms 4692 KiB
24 Hibás válasz 8ms 4700 KiB
subtask7 0/27
25 Hibás válasz 4ms 4484 KiB
26 Hibás válasz 9ms 4680 KiB
27 Hibás válasz 17ms 4720 KiB
28 Hibás válasz 29ms 4856 KiB
29 Hibás válasz 261ms 5272 KiB
30 Időlimit túllépés 583ms 4756 KiB
31 Hibás válasz 27ms 4656 KiB
32 Hibás válasz 39ms 4840 KiB
33 Hibás válasz 16ms 4748 KiB
34 Hibás válasz 57ms 4912 KiB
35 Hibás válasz 4ms 4780 KiB
36 Hibás válasz 75ms 5280 KiB
37 Hibás válasz 4ms 4672 KiB
38 Hibás válasz 7ms 4756 KiB
39 Időlimit túllépés 600ms 4412 KiB
40 Hibás válasz 6ms 5172 KiB
41 Hibás válasz 3ms 5008 KiB
42 Hibás válasz 12ms 5300 KiB
43 Hibás válasz 8ms 5244 KiB