赞
踩
- #include<bits/stdc++.h>
- using namespace std;
- const int maxn=5005;
- typedef long long ll;
- char s[maxn];
- int main()
- {
- int t,m,i,j,ans,k,n;
- scanf("%d",&t);
- while(t--&&scanf("%d",&m)!=EOF)
- {
- scanf("%s",s);
- n=strlen(s);
- ans=0;
- int l,r,sl,sr,len,sum;
- for(i=1;i<n;i++)
- {
- sl=sr=l=r=i;
- len=sum=0;
- while(l>=0&&(r<n))
- {
- if(sum<=m)
- {
- ans=max(ans,len);
- l--;
- r++;
- if(l<0||r>=n)
- break;
- sum+=abs(s[l]-s[r]);
- len++;
- }
- else
- {
- while(l<sl&&sum>m)
- {
- sl--;
- sr++;
- sum-=abs(s[sl]-s[sr]);
- len--;
- }
- }
- }
- }
- for(i=1;i<n;i++)
- {
- sl=l=i;
- sr=r=i-1;
- len=sum=0;
- while(l>=0&&(r<n))
- {
- if(sum<=m)
- {
- ans=max(ans,len);
- l--;
- r++;
- if(l<0||r>=n)
- break;
- sum+=abs(s[l]-s[r]);
- len++;
- }
- else
- {
- while(l<sl&&sum>m)
- {
- sl--;
- sr++;
- sum-=abs(s[sl]-s[sr]);
- len--;
- }
- }
- }
- }
- printf("%d\n",ans);
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。