比赛 20161115 评测结果 AAAAAAAAAA
题目名称 军队 最终得分 100
用户昵称 Smile 运行时间 0.121 s
代码语言 C++ 内存使用 1.31 MiB
提交时间 2016-11-15 11:58:41
显示代码纯文本
/* 暴力大法好  */ 
#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;
}