101892024-03-29 11:28:00111Zárójelekcpp17Hibás válasz 20/100574ms5320 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;
		for(int i=0;i<v.size();i++){
			auto[z,y,_]=v[i];
			if(x+z>=0&&y>by){
				bi=i;
				by=y;
			}
		}
		if(bi==-1){
			cout<<-1<<'\n';
			return 0;
		}
		x+=by;
		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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1828 KiB
2Elfogadva10ms2280 KiB
subtask20/11
3Elfogadva3ms2264 KiB
4Elfogadva3ms2444 KiB
5Hibás válasz3ms2656 KiB
6Elfogadva3ms2884 KiB
7Elfogadva4ms3480 KiB
8Elfogadva4ms3692 KiB
subtask36/6
9Elfogadva9ms3744 KiB
10Elfogadva3ms3616 KiB
11Elfogadva3ms3768 KiB
subtask414/14
12Elfogadva9ms3892 KiB
13Elfogadva7ms3756 KiB
subtask50/23
14Hibás válasz9ms3908 KiB
15Hibás válasz7ms3824 KiB
subtask60/19
16Hibás válasz4ms3768 KiB
17Hibás válasz6ms3864 KiB
18Elfogadva10ms4024 KiB
19Hibás válasz7ms3852 KiB
20Hibás válasz7ms4108 KiB
21Elfogadva9ms4216 KiB
22Elfogadva9ms4220 KiB
23Elfogadva9ms4212 KiB
24Elfogadva9ms4216 KiB
subtask70/27
25Elfogadva4ms4104 KiB
26Hibás válasz10ms4140 KiB
27Hibás válasz19ms4440 KiB
28Hibás válasz32ms4808 KiB
29Elfogadva174ms5320 KiB
30Időlimit túllépés569ms4884 KiB
31Hibás válasz29ms4776 KiB
32Hibás válasz45ms5024 KiB
33Hibás válasz17ms5016 KiB
34Hibás válasz63ms5248 KiB
35Hibás válasz4ms4884 KiB
36Hibás válasz83ms5308 KiB
37Elfogadva4ms5148 KiB
38Hibás válasz7ms5128 KiB
39Időlimit túllépés574ms4948 KiB
40Elfogadva7ms5108 KiB
41Elfogadva3ms5020 KiB
42Elfogadva13ms5264 KiB
43Elfogadva9ms5292 KiB