记录编号 349842 评测结果 AAAAAAAAAA
题目名称 军队 最终得分 100
用户昵称 GravatarLethur 是否通过 通过
代码语言 C++ 运行时间 0.235 s
提交时间 2016-11-15 12:05:54 内存使用 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 main() {
	freopen("tarmy.in", "r", stdin);
	freopen("tarmy.out", "w", stdout);
	scanf("%d%lld", &n, &k);
	for(int i=1; i<=n; i++) scanf("%d", &a[i]), 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;
}