记录编号 349934 评测结果 AAAAAAAAAA
题目名称 军队 最终得分 100
用户昵称 Gravatarjjky 是否通过 通过
代码语言 C++ 运行时间 0.121 s
提交时间 2016-11-15 14:06:16 内存使用 1.08 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
 
using namespace std;
 
typedef long long ll;
 
const int maxn = 100000 + 100;
 
int n;
ll k;
 
int A[maxn];
 
int sum[maxn];
 
int k1;
 
int kount = 1;
 
int ans = 0;
 
inline int gcd(int x,int y)
{
	if(y == 0)
	{
		return x;
	}
	if(x < y)
	{
		return gcd(y,x);
	}
	else
	{
		return gcd(y,x % y);
	}
}
 
int main()
{
	freopen("tarmy.in","r",stdin);
	freopen("tarmy.out","w",stdout);
	scanf("%d%d",&n,&k);
	scanf("%d",&A[1]);
	sum[0] = 0;
	sum[1] = A[1];
	for(int i = 2;i <= n ;i ++)
	{
		scanf("%d",&A[i]);
		sum[i] = sum[i - 1] + A[i];
		k1 = i - kount;
		for(int j = i - 1;j >= k1 ;j --)
		{
			if(gcd(A[i],A[j]) != 1)
			{
				k1 = j + 1;
				break;
			}
		}
		kount = i - k1 + 1;
		if(sum[i] - sum[k1 - 1] >= k)
		{
			ans = max(ans,kount);
		}
	}
	cout<<ans;
	return 0;
}