101902024-03-29 11:39:25111Zárójelekcpp17Hibás válasz 20/100600ms5300 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>by:y-z>by;
			}
		}
		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
2Hibás válasz10ms2288 KiB
subtask20/11
3Elfogadva3ms2268 KiB
4Hibás válasz3ms2488 KiB
5Hibás válasz3ms2852 KiB
6Elfogadva3ms2908 KiB
7Elfogadva4ms3384 KiB
8Elfogadva4ms3736 KiB
subtask36/6
9Elfogadva9ms3488 KiB
10Elfogadva3ms3432 KiB
11Elfogadva4ms3684 KiB
subtask414/14
12Elfogadva9ms3972 KiB
13Elfogadva7ms4160 KiB
subtask50/23
14Hibás válasz8ms4332 KiB
15Hibás válasz7ms4164 KiB
subtask60/19
16Elfogadva4ms4104 KiB
17Elfogadva6ms4144 KiB
18Hibás válasz10ms4420 KiB
19Hibás válasz7ms4428 KiB
20Hibás válasz7ms4468 KiB
21Hibás válasz8ms4724 KiB
22Hibás válasz8ms4824 KiB
23Hibás válasz8ms4692 KiB
24Hibás válasz8ms4700 KiB
subtask70/27
25Hibás válasz4ms4484 KiB
26Hibás válasz9ms4680 KiB
27Hibás válasz17ms4720 KiB
28Hibás válasz29ms4856 KiB
29Hibás válasz261ms5272 KiB
30Időlimit túllépés583ms4756 KiB
31Hibás válasz27ms4656 KiB
32Hibás válasz39ms4840 KiB
33Hibás válasz16ms4748 KiB
34Hibás válasz57ms4912 KiB
35Hibás válasz4ms4780 KiB
36Hibás válasz75ms5280 KiB
37Hibás válasz4ms4672 KiB
38Hibás válasz7ms4756 KiB
39Időlimit túllépés600ms4412 KiB
40Hibás válasz6ms5172 KiB
41Hibás válasz3ms5008 KiB
42Hibás válasz12ms5300 KiB
43Hibás válasz8ms5244 KiB