记录编号 592853 评测结果 AAAAAAAAAAA
题目名称 括号子串匹配个数 最终得分 100
用户昵称 GravatarAeeE5x 是否通过 通过
代码语言 C++ 运行时间 0.231 s
提交时间 2024-08-02 15:10:01 内存使用 12.70 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define rev(x) reverse(x.begin(),x.end())
using namespace std;
const int N=2e7+10;
int cnt[N];
string s;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	freopen("oknum.in","r",stdin);
	freopen("oknum.out","w",stdout);
	
	cin>>s;
	int n=s.size();
	s=" "+s;
	stack<int> st;
	for(int i=1;i<=n;i++){
		if(s[i]=='(') st.push(i);
		else if(st.size()) cnt[i]=cnt[st.top()-1]+1,st.pop();
	}
	ll ans=0;
	for(int i=1;i<=n;i++) ans+=cnt[i];
	cout<<ans;
	
	
	
	
	return 0;
}