AT_abc032_c.[ABC032C] 列

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 NN 的非负整数序列 S=s1,s2,…,sNS={s_1,s_2,\ldots,s_N} 和一个整数 KK。你的任务是求出满足以下条件的 SS 的连续子序列中,长度最长的那个的长度。子序列的长度必须为 11 或更长。

  • 该子序列中所有元素值的乘积不超过 KK。

如果不存在满足条件的子序列,请输出 00。

输入格式

输入以如下格式从标准输入读入。

NN KK
s1s_1
s2s_2
⋮\vdots
sNs_N

  • 第 11 行包含两个整数,分别表示数列的长度 N (1≤N≤105)N\ (1\leq N\leq 10^5) 和题目中的整数 K (0≤K≤109)K\ (0\leq K\leq 10^9),两数以空格分隔。
  • 接下来的 NN 行中,每行包含一个整数,表示数列的每个元素。其中第 ii 行为 si (0≤si≤109)s_i\ (0\leq s_i\leq 10^9)。

输出格式

输出一行,表示所有元素乘积不超过 KK 的连续子序列中最长的长度。如果不存在满足条件的子序列,输出 00。请不要忘记输出末尾的换行符。

输入输出样例

  • 输入#1

    7 6
    4
    3
    1
    1
    2
    10
    2

    输出#1

    4
  • 输入#2

    6 10
    10
    10
    10
    10
    0
    10

    输出#2

    6
  • 输入#3

    6 9
    10
    10
    10
    10
    10
    10

    输出#3

    0
  • 输入#4

    4 0
    1
    2
    3
    4

    输出#4

    0

说明/提示

部分分

本题设置了部分分。满分为 100100 分。

  • 对于满足 N≤1000N\leq 1000 的数据集 1,答对可获得 2020 分。
  • 对于没有额外限制的数据集 2,答对可再获得 8080 分。

样例解释 1

选择子序列 S[2..5]=s2,s3,s4,s5S[2..5]=s_2,s_3,s_4,s_5,其乘积为 3×1×1×2=63\times 1\times 1\times 2=6,不超过 KK。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页