记录编号 349935 评测结果 AAAAAAAAAA
题目名称 军队 最终得分 100
用户昵称 Gravatarcoo 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2016-11-15 14:06:42 内存使用 7.94 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define MAXN 1000005
using namespace std;
int m,n,l,ans=0,k;
int f[MAXN],JI[MAXN];
int gcd(int a,int b){
	if(b==0)return a;
	return gcd(b,a%b);
}
int qread()
{
	char c=getchar();int re=0;
	while(c<'0'||c>'9')c=getchar();
	while(c<='9'&&c>='0')re=re*10+c-'0',c=getchar();
	return re;
}
int main()
{
	freopen("tarmy.in","r",stdin);
	freopen("tarmy.out","w",stdout);
	scanf("%d%d",&n,&k);
	f[1]=qread();JI[1]=f[1];JI[0]=0;
	if(f[1]>=k) ans=1;
	int now=1;
	for(int i=2;i<=n;i++)
	{
		f[i]=qread();bool flag=1;JI[i]=JI[i-1]+f[i];
		int lian=i-now;
		for(int j=i-1;j>=i-now;j--)
		{
			if(gcd(f[i],f[j])!=1)
			{
				lian=j+1;break;
			}
		}
		now=i-lian+1;
		if(JI[i]-JI[lian-1]>=k)ans=max(ans,now);
	}
	printf("%d",ans);
	fclose(stdin);
	fclose(stdout);
	return 0;
 }