记录编号 581872 评测结果 AAAAAAAAAA
题目名称 [CH 1801]括号画家 最终得分 100
用户昵称 Gravatar┭┮﹏┭┮ 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2023-08-26 17:18:07 内存使用 0.00 MiB
显示代码纯文本
#include <bits/stdc++.h> 
using namespace std;
const int N = 1e4+10;
char c[N];
stack<char>st;
int v[310];
long long ans,s;
void clear_(){
	while(!st.empty())st.pop();
}
int main(){
	freopen("candela.in","r",stdin);
	freopen("candela.out","w",stdout);
    v['('] = 1,v[')'] = -1,v['['] = 2,v[']'] = -2,v['{'] = 3,v['}'] = -3;
	scanf("%s",c+1);
	int len = strlen(c+1);
	for(int i = 1;i <= len;i++){
		if(c[i] == '(' || c[i] == '{' || c[i] == '[')st.push(c[i]);
		else{
			if(!st.empty() && v[c[i]] + v[st.top()] == 0){
				s += 2;
				st.pop();
			}
			else{
				ans = max(ans,s);
				s = 0;
				clear_();
			}
		}
	}
	ans = max(ans,s);
	printf("%d\n",ans);
	
	return 0;
	
}