记录编号 350130 评测结果 AAAAAAAAAA
题目名称 军队 最终得分 100
用户昵称 GravatarSmile 是否通过 通过
代码语言 C++ 运行时间 0.108 s
提交时间 2016-11-15 16:10:19 内存使用 1.46 MiB
显示代码纯文本
/* 暴力大法好 */ 
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;

#define LL long long 

const int maxn=100000+10;
const int INF=0x3f3f3f3f;

int n, ans, a[maxn];
LL h[maxn], k;		

inline int gcd(int a, int b) {
	return b==0 ? a : gcd(b, a%b);
}

int Qin() {
	int x=0;
	char c=getchar();
	while(c<'0' || c>'9') c=getchar();
	while(c>='0' && c<='9') x=x*10+c-'0', c=getchar();
	return x;
}

int main() {
	freopen("tarmy.in", "r", stdin);
	freopen("tarmy.out", "w", stdout);
	n=Qin();
	scanf("%lld", &k);
	for(int i=1; i<=n; i++) a[i]=Qin(), h[i]=h[i-1]+a[i];
	
	int L=1, R=1;
	
	while(R<=n) {
		bool flag=1;
		int se=0;
		while(flag) {
			R++;
			for(int i=R-1; i>=L; i--) {
				if(gcd(a[i], a[R])!=1) {
					flag=0; se=i; break;
				}
			}
		}
		if(h[R-1]-h[L-1]>=k) ans=max(ans, R-L);
		L=se+1;
	}
	printf("%d\n", ans);
	return 0;
}