信息
- ID
- 2623
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 97
- 已通过
- 29
- 上传者
AC代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[1000],b[100005],k,t,x,maxx=-1,sum;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]==0)
{
b[i]=b[i-1]+1;
}
else
{
b[i]=b[i-1];
}
}
for(int i=1,j=1;j<=n;)
{
if(b[j]-b[i-1]<=k)
{
sum=j-i+1;
if(sum>maxx)
{
maxx=sum;
}
j++;
}
else
{
i++;
}
}
cout<<maxx;
}
然后,你错了,真正的AC代码在这:
#include<bits/stdc++.h>
using namespace std;
int n,a[100005],b[100005],k,t,x,maxx=-1,sum;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]==0)
{
b[i]=b[i-1]+1;
}
else
{
b[i]=b[i-1];
}
}
for(int i=1,j=1;j<=n;)
{
if(b[j]-b[i-1]<=k)
{
sum=j-i+1;
if(sum>maxx)
{
maxx=sum;
}
j++;
}
else
{
i++;
}
}
cout<<maxx;
}