10191 2024. 03. 29 11:40:04 111 Zárójelek cpp17 Hibás válasz 20/100 600ms 4672 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:y-z;
			}
		}
		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 Elfogadva 10ms 2252 KiB
subtask2 0/11
3 Elfogadva 2ms 2104 KiB
4 Elfogadva 3ms 2228 KiB
5 Elfogadva 2ms 2460 KiB
6 Elfogadva 3ms 2516 KiB
7 Hibás válasz 4ms 3132 KiB
8 Elfogadva 4ms 3116 KiB
subtask3 6/6
9 Elfogadva 9ms 3220 KiB
10 Elfogadva 3ms 3272 KiB
11 Elfogadva 3ms 3232 KiB
subtask4 14/14
12 Elfogadva 9ms 3536 KiB
13 Elfogadva 7ms 3636 KiB
subtask5 0/23
14 Hibás válasz 8ms 3740 KiB
15 Hibás válasz 7ms 3860 KiB
subtask6 0/19
16 Elfogadva 4ms 3668 KiB
17 Elfogadva 6ms 3748 KiB
18 Elfogadva 10ms 3892 KiB
19 Hibás válasz 7ms 3692 KiB
20 Hibás válasz 7ms 3948 KiB
21 Hibás válasz 8ms 4044 KiB
22 Hibás válasz 8ms 4176 KiB
23 Hibás válasz 8ms 4148 KiB
24 Hibás válasz 8ms 4060 KiB
subtask7 0/27
25 Hibás válasz 4ms 3952 KiB
26 Hibás válasz 10ms 4032 KiB
27 Hibás válasz 18ms 4080 KiB
28 Hibás válasz 30ms 4100 KiB
29 Hibás válasz 172ms 4672 KiB
30 Időlimit túllépés 578ms 4236 KiB
31 Hibás válasz 28ms 4120 KiB
32 Hibás válasz 43ms 4352 KiB
33 Hibás válasz 17ms 4096 KiB
34 Hibás válasz 61ms 4320 KiB
35 Hibás válasz 4ms 3884 KiB
36 Hibás válasz 82ms 4356 KiB
37 Hibás válasz 4ms 3884 KiB
38 Hibás válasz 7ms 3924 KiB
39 Időlimit túllépés 600ms 3736 KiB
40 Hibás válasz 6ms 3924 KiB
41 Hibás válasz 3ms 3844 KiB
42 Elfogadva 13ms 4164 KiB
43 Hibás válasz 8ms 4072 KiB