| 比赛 | 
    20161115 | 
    评测结果 | 
    AWWWWWWWWW | 
    | 题目名称 | 
    军队 | 
    最终得分 | 
    10 | 
    | 用户昵称 | 
    zhjian | 
    运行时间 | 
    0.342 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    1.84 MiB  | 
    | 提交时间 | 
    2016-11-15 11:30:26 | 
显示代码纯文本
#include<bits/stdc++.h>
#define LL unsigned long long
#define BEG freopen("tarmy.in","r",stdin);freopen("tarmy.out","w",stdout);
#define END fclose(stdin);fclose(stdout);
using namespace std;
const LL N=100005,M=1000000;
LL n,k,s[N],l,r;
LL sum[N],maxx=1;
LL gcd(LL x,LL y){
	if(x>y)
		swap(x,y);
	LL r=y;
	while(x%y!=0){
		r=x%y;
		x=y;
		y=r;
	}
	return r;
}
int main(){
	BEG
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>s[i];
		sum[i]=sum[i-1]+s[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			for(int k=i;k<j;k++){
				if(gcd(s[k],s[j])!=1){
					int lr=j-i;
					if(lr>maxx&&sum[j-1]-sum[i-1]>=k){
						l=i;
						r=j-1;
					}
					i=k;
					j=n+1;
					k=j;
				}
			}
		}
	}
	cout<<r-l+1;
	
	
	END
	return 0;
}