10195 2024. 03. 29 11:43:38 111 Zárójelek cpp17 Időlimit túllépés 73/100 563ms 4820 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-z>by:y>by)){
				bi=i;
				by=dc?y-z:y;
			}
		}
		if(bi==-1){
			cout<<-1<<'\n';
			return 0;
		}
		x+=get<1>(v[bi]);
		if(x<0)exit(1);
		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 1696 KiB
2 Elfogadva 10ms 2096 KiB
subtask2 11/11
3 Elfogadva 3ms 2076 KiB
4 Elfogadva 3ms 2288 KiB
5 Elfogadva 3ms 2500 KiB
6 Elfogadva 3ms 2712 KiB
7 Elfogadva 4ms 3304 KiB
8 Elfogadva 4ms 3260 KiB
subtask3 6/6
9 Elfogadva 10ms 3364 KiB
10 Elfogadva 3ms 3280 KiB
11 Elfogadva 3ms 3316 KiB
subtask4 14/14
12 Elfogadva 10ms 3500 KiB
13 Elfogadva 7ms 3492 KiB
subtask5 23/23
14 Elfogadva 9ms 3456 KiB
15 Elfogadva 7ms 3312 KiB
subtask6 19/19
16 Elfogadva 4ms 3512 KiB
17 Elfogadva 6ms 3508 KiB
18 Elfogadva 10ms 3660 KiB
19 Elfogadva 7ms 3648 KiB
20 Elfogadva 7ms 3524 KiB
21 Elfogadva 10ms 3672 KiB
22 Elfogadva 10ms 3680 KiB
23 Elfogadva 10ms 3672 KiB
24 Elfogadva 10ms 3828 KiB
subtask7 0/27
25 Elfogadva 4ms 3460 KiB
26 Elfogadva 10ms 3728 KiB
27 Elfogadva 19ms 3780 KiB
28 Elfogadva 32ms 3984 KiB
29 Elfogadva 180ms 4580 KiB
30 Időlimit túllépés 563ms 4092 KiB
31 Elfogadva 30ms 3956 KiB
32 Elfogadva 46ms 4144 KiB
33 Elfogadva 18ms 3920 KiB
34 Elfogadva 65ms 4144 KiB
35 Elfogadva 4ms 4020 KiB
36 Elfogadva 89ms 4440 KiB
37 Elfogadva 4ms 3964 KiB
38 Elfogadva 7ms 4256 KiB
39 Időlimit túllépés 555ms 4020 KiB
40 Elfogadva 8ms 4464 KiB
41 Elfogadva 3ms 4472 KiB
42 Elfogadva 14ms 4752 KiB
43 Elfogadva 10ms 4820 KiB