1 条题解
-
2
#include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define inf 0x3f3f3f3f #define endl '\n' int n,maxn; bool y=1; string s; int dp[3000007]; int main(){ freopen("bracket.in","r",stdin); freopen("bracket.out","w",stdout); cin>>s; n=s.size(); s=" "+s; for(int i=1;i<=n;i++){ if(s[i]=='(') dp[i]=dp[i-1]+1; else dp[i]=dp[i-1]-1; maxn=max(maxn,dp[i]); if(dp[i]<0){ y=0; break; } } if(!(y&&dp[n]==0)){ cout<<-1; return 0; } cout<<n-maxn*2; return 0; }
信息
- ID
- 3584
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 61
- 已通过
- 12
- 上传者