10192 2024. 03. 29 11:40:51 111 Zárójelek cpp17 Hibás válasz 20/100 600ms 5544 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 Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1828 KiB
2 Elfogadva 13ms 2248 KiB
subtask2 0/11
3 Elfogadva 3ms 2100 KiB
4 Elfogadva 3ms 2232 KiB
5 Elfogadva 3ms 2444 KiB
6 Elfogadva 3ms 2656 KiB
7 Hibás válasz 4ms 2996 KiB
8 Elfogadva 4ms 3252 KiB
subtask3 6/6
9 Elfogadva 12ms 3304 KiB
10 Elfogadva 3ms 3264 KiB
11 Elfogadva 3ms 3540 KiB
subtask4 14/14
12 Elfogadva 12ms 3548 KiB
13 Elfogadva 8ms 3660 KiB
subtask5 0/23
14 Hibás válasz 12ms 3888 KiB
15 Hibás válasz 8ms 3828 KiB
subtask6 0/19
16 Elfogadva 4ms 4020 KiB
17 Elfogadva 6ms 4276 KiB
18 Elfogadva 13ms 4384 KiB
19 Hibás válasz 8ms 4248 KiB
20 Hibás válasz 8ms 4388 KiB
21 Hibás válasz 10ms 4524 KiB
22 Hibás válasz 9ms 4616 KiB
23 Hibás válasz 9ms 4672 KiB
24 Hibás válasz 9ms 4924 KiB
subtask7 0/27
25 Hibás válasz 4ms 4676 KiB
26 Elfogadva 13ms 4872 KiB
27 Elfogadva 25ms 5064 KiB
28 Elfogadva 41ms 4940 KiB
29 Elfogadva 233ms 5544 KiB
30 Időlimit túllépés 580ms 5240 KiB
31 Hibás válasz 37ms 5240 KiB
32 Hibás válasz 57ms 5288 KiB
33 Hibás válasz 23ms 5164 KiB
34 Hibás válasz 82ms 5456 KiB
35 Hibás válasz 4ms 4936 KiB
36 Hibás válasz 111ms 5392 KiB
37 Hibás válasz 4ms 4920 KiB
38 Hibás válasz 8ms 4952 KiB
39 Időlimit túllépés 600ms 4640 KiB
40 Hibás válasz 7ms 4952 KiB
41 Hibás válasz 3ms 5144 KiB
42 Elfogadva 14ms 5332 KiB
43 Hibás válasz 9ms 5412 KiB