101912024-03-29 11:40:04111Zárójelekcpp17Hibás válasz 20/100600ms4672 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1824 KiB
2Elfogadva10ms2252 KiB
subtask20/11
3Elfogadva2ms2104 KiB
4Elfogadva3ms2228 KiB
5Elfogadva2ms2460 KiB
6Elfogadva3ms2516 KiB
7Hibás válasz4ms3132 KiB
8Elfogadva4ms3116 KiB
subtask36/6
9Elfogadva9ms3220 KiB
10Elfogadva3ms3272 KiB
11Elfogadva3ms3232 KiB
subtask414/14
12Elfogadva9ms3536 KiB
13Elfogadva7ms3636 KiB
subtask50/23
14Hibás válasz8ms3740 KiB
15Hibás válasz7ms3860 KiB
subtask60/19
16Elfogadva4ms3668 KiB
17Elfogadva6ms3748 KiB
18Elfogadva10ms3892 KiB
19Hibás válasz7ms3692 KiB
20Hibás válasz7ms3948 KiB
21Hibás válasz8ms4044 KiB
22Hibás válasz8ms4176 KiB
23Hibás válasz8ms4148 KiB
24Hibás válasz8ms4060 KiB
subtask70/27
25Hibás válasz4ms3952 KiB
26Hibás válasz10ms4032 KiB
27Hibás válasz18ms4080 KiB
28Hibás válasz30ms4100 KiB
29Hibás válasz172ms4672 KiB
30Időlimit túllépés578ms4236 KiB
31Hibás válasz28ms4120 KiB
32Hibás válasz43ms4352 KiB
33Hibás válasz17ms4096 KiB
34Hibás válasz61ms4320 KiB
35Hibás válasz4ms3884 KiB
36Hibás válasz82ms4356 KiB
37Hibás válasz4ms3884 KiB
38Hibás válasz7ms3924 KiB
39Időlimit túllépés600ms3736 KiB
40Hibás válasz6ms3924 KiB
41Hibás válasz3ms3844 KiB
42Elfogadva13ms4164 KiB
43Hibás válasz8ms4072 KiB