记录编号 350059 评测结果 AAAAAAAAAA
题目名称 军队 最终得分 100
用户昵称 Gravatarcoolkid 是否通过 通过
代码语言 C++ 运行时间 0.311 s
提交时间 2016-11-15 15:26:20 内存使用 0.70 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define C(x) cout<<#x<<":"<<x<<endl
using namespace std;

const int MAXN=1e5+10;
int A[MAXN],n,k;

int gcd(int a,int b){
	if(!b) return a;
	return gcd(b,a%b);
}

void init(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++) scanf("%d",&A[i]);
}

int update(int l,int r){
	for(int i=l;i<=r;i++)
		for(int j=i+1;j<=r;j++) if(gcd(A[i],A[j])!=1) return -1;
	return r-l+1;
}

int ans=0;
int fst=1;

void work(){
	for(int i=1;i<=n;i++){
		long long sum=A[i];
		int fst=1;
		for(int j=i+1;j<=n;j++){
			sum+=A[j];
			if(sum>=k){
				int temp=0;
				if(fst){
					fst=0;temp=update(i,j);
				}else{
					int flg=1;
					for(int k=j-1;k>=i;k--) if(gcd(A[k],A[j])!=1){
						temp=-1;flg=0;break;
					}
					if(flg) temp=j-i+1;

				}
				if(temp==-1) break;
				ans=max(temp,ans);
			}
		}
	}
	printf("%d\n",ans);
}

int main(){
	freopen("tarmy.in","r",stdin);
	freopen("tarmy.out","w",stdout);
	init();
	work();
	return 0;
}