比赛 |
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;
}