101942024-03-29 11:42:49111Zárójelekcpp17Hibás válasz 20/100600ms5136 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1704 KiB
2Elfogadva14ms2280 KiB
subtask20/11
3Elfogadva3ms2144 KiB
4Hibás válasz3ms2380 KiB
5Hibás válasz3ms2384 KiB
6Elfogadva3ms2508 KiB
7Elfogadva4ms3104 KiB
8Elfogadva4ms3064 KiB
subtask36/6
9Elfogadva14ms3036 KiB
10Elfogadva3ms2864 KiB
11Elfogadva3ms2868 KiB
subtask414/14
12Elfogadva14ms3076 KiB
13Elfogadva8ms3148 KiB
subtask50/23
14Hibás válasz14ms3332 KiB
15Hibás válasz8ms3580 KiB
subtask60/19
16Hibás válasz4ms3664 KiB
17Hibás válasz7ms3920 KiB
18Elfogadva14ms4056 KiB
19Hibás válasz8ms3900 KiB
20Hibás válasz8ms3796 KiB
21Hibás válasz13ms3936 KiB
22Hibás válasz13ms4068 KiB
23Hibás válasz13ms4144 KiB
24Hibás válasz13ms4272 KiB
subtask70/27
25Elfogadva4ms4316 KiB
26Hibás válasz14ms4332 KiB
27Hibás válasz28ms4392 KiB
28Hibás válasz48ms4656 KiB
29Hibás válasz284ms4932 KiB
30Időlimit túllépés586ms4580 KiB
31Hibás válasz46ms4508 KiB
32Hibás válasz71ms4708 KiB
33Hibás válasz27ms4392 KiB
34Hibás válasz101ms4712 KiB
35Hibás válasz6ms4400 KiB
36Hibás válasz136ms5136 KiB
37Elfogadva4ms4676 KiB
38Hibás válasz8ms4560 KiB
39Időlimit túllépés600ms4264 KiB
40Hibás válasz8ms4580 KiB
41Hibás válasz3ms4516 KiB
42Hibás válasz18ms4856 KiB
43Hibás válasz13ms4936 KiB