101992024-03-29 12:55:42111Zárójelekcpp17Elfogadva 100/10035ms30660 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

#define MZ 200001

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N;
	cin>>N;
	vector<vector<pair<int,int>>>a(MZ),b(MZ);
	int x=0,ca=0,cb=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=max(z,-y);
			}
		}
		x+=y;
		if(y>=0){
			ca++;
			a[z].emplace_back(y,i);
		}
		else{
			cb++;
			b[z].emplace_back(y,i);
		}
	}
	if(x!=0){
		cout<<-1<<'\n';
		return 0;
	}
	vector<int>ans;
	multimap<int,int>m;
	int xx=x;
	while(ca--){
		while(xx<=x){
			for(auto[y,i]:a[xx]){
				m.emplace(y,i);
			}
			xx++;
		}
		if(m.empty()){
			cout<<-1<<'\n';
			return 0;
		}
		auto it=--m.end();
		x+=it->first;
		ans.push_back(it->second);
		m.erase(it);
	}
	multimap<int,pair<int,int>>mm;
	for(int z=0;z<MZ;z++){
		for(auto[y,i]:b[z]){
			mm.emplace(y+z,pair<int,int>{y,i});
		}
	}
	while(cb--){
		while(!mm.empty()&&(--mm.end())->first-(--mm.end())->second.first>x){
			mm.erase(--mm.end());
		}
		if(mm.empty()){
			cout<<cb<<" "<<x<<endl;
			cout<<-1<<'\n';
			return 0;
		}
		auto it=--mm.end();
		x+=it->second.first;
		ans.push_back(it->second.second);
		mm.erase(it);
	}
	for(int i:ans){
		cout<<i+1<<' ';
	}
	cout<<'\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva12ms20576 KiB
2Elfogadva14ms21248 KiB
subtask211/11
3Elfogadva12ms20976 KiB
4Elfogadva10ms21188 KiB
5Elfogadva10ms21404 KiB
6Elfogadva10ms21616 KiB
7Elfogadva13ms22092 KiB
8Elfogadva12ms22292 KiB
subtask36/6
9Elfogadva12ms22240 KiB
10Elfogadva12ms22124 KiB
11Elfogadva12ms22128 KiB
subtask414/14
12Elfogadva12ms22492 KiB
13Elfogadva13ms22448 KiB
subtask523/23
14Elfogadva14ms22332 KiB
15Elfogadva12ms22592 KiB
subtask619/19
16Elfogadva13ms22420 KiB
17Elfogadva14ms22988 KiB
18Elfogadva14ms23260 KiB
19Elfogadva12ms23000 KiB
20Elfogadva13ms23260 KiB
21Elfogadva12ms23492 KiB
22Elfogadva10ms23508 KiB
23Elfogadva10ms23624 KiB
24Elfogadva13ms23712 KiB
subtask727/27
25Elfogadva13ms23404 KiB
26Elfogadva13ms23660 KiB
27Elfogadva14ms24060 KiB
28Elfogadva14ms24164 KiB
29Elfogadva17ms25088 KiB
30Elfogadva35ms30660 KiB
31Elfogadva13ms23924 KiB
32Elfogadva13ms24360 KiB
33Elfogadva12ms24216 KiB
34Elfogadva13ms24652 KiB
35Elfogadva10ms23716 KiB
36Elfogadva16ms24840 KiB
37Elfogadva10ms23712 KiB
38Elfogadva13ms23716 KiB
39Elfogadva19ms26704 KiB
40Elfogadva10ms23784 KiB
41Elfogadva12ms23716 KiB
42Elfogadva12ms24156 KiB
43Elfogadva10ms24032 KiB