Pagini recente » Cod sursa (job #652747) | Cod sursa (job #880237) | Cod sursa (job #2329129) | Cod sursa (job #1203488) | Cod sursa (job #1046913)
#include<cstdio>
using namespace std;
int l,nr,maxi,n,i,a[1000009],st[1000009];
char ch;
int max(int a,int b)
{
if(a>b) return a;
return b;
}
int main()
{
freopen("paranteze.in","r",stdin);
freopen("paranteze.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
scanf("%c",&ch);
if(ch=='{') a[i]=0;
else
if(ch=='[') a[i]=1;
else
if(ch=='(') a[i]=2;
else
if(ch==')') a[i]=3;
else
if(ch==']') a[i]=4;
else a[i]=5;
}
for(i=1;i<=n;i++)
{
if(a[i]>=3)
{
if(a[st[nr]]==5-a[i]&&nr!=0){nr--;l+=2;}
else
{
l=0;
nr=0;
}
}
else
{
nr++;
st[nr]=i;
}
if(l>maxi)
maxi=l;
}
printf("%d\n",maxi);
return 0;
}