题目名称 2547. 军队
输入输出 tarmy.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarFmuckss 于2016-11-15加入
开放分组 全部用户
提交状态
分类标签
扩展欧几里得算法
分享题解
通过:64, 提交:155, 通过率:41.29%
Gravatarcoo 100 0.000 s 7.94 MiB C++
GravatarRiolu 100 0.066 s 0.73 MiB C++
Gravatarjjky 100 0.073 s 0.54 MiB C++
Gravatarjjky 100 0.076 s 0.54 MiB C++
GravatarLethur 100 0.084 s 0.73 MiB C++
GravatarKulliu 100 0.101 s 0.58 MiB C++
GravatarExtreme°/极致 ° 100 0.102 s 0.92 MiB C++
GravatarKulliu 100 0.105 s 0.73 MiB C++
GravatarSmile 100 0.108 s 1.46 MiB C++
Gravatar残星噬月 100 0.109 s 1.84 MiB C++
本题关联比赛
20161115
关于 军队 的近10条评论(全部评论)
GravatarTabing010102
2016-11-15 20:09 4楼
Orz
GravatarSmile
2016-11-15 18:11 3楼
天天
GravatarsrO cwm Orz
2016-11-15 15:27 2楼
天天
GravatarNVIDIA
2016-11-15 15:08 1楼

2547. 军队

★☆   输入文件:tarmy.in   输出文件:tarmy.out   简单对比
时间限制:1 s   内存限制:256 MiB

问题描述

给定一个有n个队伍的人组成的序列,第i个队伍i有s[i]个人组成,一个l到r的子序列是合法的,当且仅当$((\forall i)(\forall j) \land (i \ne j) \land (l \le i,j \le r)) \to (gcd(s[i], s[j]) = 1)$,即对于该序列中任两个不相同的队伍,他们人数的最大公约数为1,并且要求该子序列的总人数大于等于k。且由于每个队伍能够审批携带的仪器是有限的,所以需要这个队伍(r - l + 1)尽可能长,请求出这个队伍的最长长度,若不存在,请输出0。

输入格式

第一行两个整数n,k分别表示队伍数量和人数下限
接下来一行n个整数,表示每个队伍的人数

输出格式

一行一个整数,表示队伍的最长长度,如果不存在一个这样的队伍,则输出0

输入样例

5 14
4 5 12 3 2 

输出样例

2 

数据范围


对于10%的数据$n \le 10$

对于另外20%的数据$n \le 10^2$

对于另外20%的数据$n \le 2 * 10^3$

对于全部的数据$1 \le n \le 10^5, 1 \le s[i] \le 10^6, k \le signed\ int$