记录编号 |
581872 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[CH 1801]括号画家 |
最终得分 |
100 |
用户昵称 |
┭┮﹏┭┮ |
是否通过 |
通过 |
代码语言 |
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;
}