比赛 20161115 评测结果 RRRRRRRRRR
题目名称 军队 最终得分 0
用户昵称 残星噬月 运行时间 0.031 s
代码语言 C++ 内存使用 7.15 MiB
提交时间 2016-11-15 11:42:04
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<vector>
#include<iostream>
using namespace std;
int gcd(int x,int y)
{
	if(x>y)
	{
		int z=x;
		x=y;
		y=z;
	}
	if(y%x!=0)return gcd(y%x,x);
	if(y%x==0)return x;
}
long long a[1000001];
//ong long b[1000001];
//int  q[1000001];
//int  m[1000001];
int tot;
int n,k;
int MAX=0;
int main()
{   freopen("tarmy.in","w",stdin);
	freopen("tarmy.out","r",stdout);
	cin>>n>>k;
	for(int i=0;i<n;i++)
	{   
		cin>>a[i];
	}
	for(int i=0;i<n;i++)
	{   
	    int flag=1;
	    long long ans=1;
	    long long ans1=0;
	    tot=i;
	    while(flag=1)
		{
			ans*=a[tot];
			ans1+=a[tot];
			tot+=1;
			if(a[tot]==0)break;
			flag=gcd(ans,a[tot]);
			//cout<<i<<" "<<flag<<endl;
			if(flag!=1)break;
		}
		 int po=tot-i;
		 //cout<<i<<" "<<po<<" "<<ans1<<endl;
		if(ans1>=k)
		
		{
			MAX=max(MAX,po);
		}
	
	 } 
	  	cout<<MAX<<endl;
	  	return 0;
}