记录编号 |
350130 |
评测结果 |
AAAAAAAAAA |
题目名称 |
军队 |
最终得分 |
100 |
用户昵称 |
Smile |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.108 s |
提交时间 |
2016-11-15 16:10:19 |
内存使用 |
1.46 MiB |
显示代码纯文本
/* 暴力大法好 */
#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 Qin() {
int x=0;
char c=getchar();
while(c<'0' || c>'9') c=getchar();
while(c>='0' && c<='9') x=x*10+c-'0', c=getchar();
return x;
}
int main() {
freopen("tarmy.in", "r", stdin);
freopen("tarmy.out", "w", stdout);
n=Qin();
scanf("%lld", &k);
for(int i=1; i<=n; i++) a[i]=Qin(), 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;
}