10194 2024. 03. 29 11:42:49 111 Zárójelek cpp17 Hibás válasz 20/100 600ms 5136 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?z>by:y>by)){
				bi=i;
				by=dc?z:y;
			}
		}
		if(bi==-1){
			cout<<-1<<'\n';
			return 0;
		}
		x+=get<1>(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 1704 KiB
2 Elfogadva 14ms 2280 KiB
subtask2 0/11
3 Elfogadva 3ms 2144 KiB
4 Hibás válasz 3ms 2380 KiB
5 Hibás válasz 3ms 2384 KiB
6 Elfogadva 3ms 2508 KiB
7 Elfogadva 4ms 3104 KiB
8 Elfogadva 4ms 3064 KiB
subtask3 6/6
9 Elfogadva 14ms 3036 KiB
10 Elfogadva 3ms 2864 KiB
11 Elfogadva 3ms 2868 KiB
subtask4 14/14
12 Elfogadva 14ms 3076 KiB
13 Elfogadva 8ms 3148 KiB
subtask5 0/23
14 Hibás válasz 14ms 3332 KiB
15 Hibás válasz 8ms 3580 KiB
subtask6 0/19
16 Hibás válasz 4ms 3664 KiB
17 Hibás válasz 7ms 3920 KiB
18 Elfogadva 14ms 4056 KiB
19 Hibás válasz 8ms 3900 KiB
20 Hibás válasz 8ms 3796 KiB
21 Hibás válasz 13ms 3936 KiB
22 Hibás válasz 13ms 4068 KiB
23 Hibás válasz 13ms 4144 KiB
24 Hibás válasz 13ms 4272 KiB
subtask7 0/27
25 Elfogadva 4ms 4316 KiB
26 Hibás válasz 14ms 4332 KiB
27 Hibás válasz 28ms 4392 KiB
28 Hibás válasz 48ms 4656 KiB
29 Hibás válasz 284ms 4932 KiB
30 Időlimit túllépés 586ms 4580 KiB
31 Hibás válasz 46ms 4508 KiB
32 Hibás válasz 71ms 4708 KiB
33 Hibás válasz 27ms 4392 KiB
34 Hibás válasz 101ms 4712 KiB
35 Hibás válasz 6ms 4400 KiB
36 Hibás válasz 136ms 5136 KiB
37 Elfogadva 4ms 4676 KiB
38 Hibás válasz 8ms 4560 KiB
39 Időlimit túllépés 600ms 4264 KiB
40 Hibás válasz 8ms 4580 KiB
41 Hibás válasz 3ms 4516 KiB
42 Hibás válasz 18ms 4856 KiB
43 Hibás válasz 13ms 4936 KiB