101922024-03-29 11:40:51111Zárójelekcpp17Hibás válasz 20/100600ms5544 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-z>by:y>by)){
				bi=i;
				by=dc?y-z:y;
			}
		}
		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
1Elfogadva3ms1828 KiB
2Elfogadva13ms2248 KiB
subtask20/11
3Elfogadva3ms2100 KiB
4Elfogadva3ms2232 KiB
5Elfogadva3ms2444 KiB
6Elfogadva3ms2656 KiB
7Hibás válasz4ms2996 KiB
8Elfogadva4ms3252 KiB
subtask36/6
9Elfogadva12ms3304 KiB
10Elfogadva3ms3264 KiB
11Elfogadva3ms3540 KiB
subtask414/14
12Elfogadva12ms3548 KiB
13Elfogadva8ms3660 KiB
subtask50/23
14Hibás válasz12ms3888 KiB
15Hibás válasz8ms3828 KiB
subtask60/19
16Elfogadva4ms4020 KiB
17Elfogadva6ms4276 KiB
18Elfogadva13ms4384 KiB
19Hibás válasz8ms4248 KiB
20Hibás válasz8ms4388 KiB
21Hibás válasz10ms4524 KiB
22Hibás válasz9ms4616 KiB
23Hibás válasz9ms4672 KiB
24Hibás válasz9ms4924 KiB
subtask70/27
25Hibás válasz4ms4676 KiB
26Elfogadva13ms4872 KiB
27Elfogadva25ms5064 KiB
28Elfogadva41ms4940 KiB
29Elfogadva233ms5544 KiB
30Időlimit túllépés580ms5240 KiB
31Hibás válasz37ms5240 KiB
32Hibás válasz57ms5288 KiB
33Hibás válasz23ms5164 KiB
34Hibás válasz82ms5456 KiB
35Hibás válasz4ms4936 KiB
36Hibás válasz111ms5392 KiB
37Hibás válasz4ms4920 KiB
38Hibás válasz8ms4952 KiB
39Időlimit túllépés600ms4640 KiB
40Hibás válasz7ms4952 KiB
41Hibás válasz3ms5144 KiB
42Elfogadva14ms5332 KiB
43Hibás válasz9ms5412 KiB