Hi, I have used the same logic as editorial in problem 5C but my code gets the wrong answer. https://mirror.codeforces.com/contest/5/problem/C
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e6;
int dp[MAXN];
int main()
{
string str;cin >> str;
stack<int> s;int maxs=0,su0;
for(int i=0;i<str.size();++i){
if(str[i]=='('){
s.push(i);dp[i]=-1;
}else{
if(s.empty()) dp[i]=-1;
else{
int top = s.top();int res = i-top+1;
if(top!=0 && str[top-1]==')' && dp[top-1]!=-1) res += dp[top-1];
dp[i]=res;maxs=max(maxs,dp[i]);
}
}
}cout << maxs;
}
Auto comment: topic has been updated by BanazadehAria (previous revision, new revision, compare).
Is this forum for help? or this forum is for getting downvote?
I think its just 20 line code.And i have linked the problem also.
Maybe you must two numbers? Lenght of longest substring and number of such substrings
And you forget to erase from stack. That code get AC. 55712596
Oh, thank you very much:|