Submission #49900000


Source Code Expand

#include <bits/stdc++.h>
#include <cassert>
using namespace std;
using ll = long long int;
using pll = pair<ll, ll>;
// #include <atcoder/all>
// using namespace atcoder;
#define REP(i, a, b) for (ll i = (a); i < (b); i++)
#define REPrev(i, a, b) for (ll i = (a); i >= (b); i--)
#define ALL(coll) (coll).begin(), (coll).end()
#define SIZE(v) ((ll)((v).size()))
#define REPOUT(i, a, b, exp, sep) REP(i, (a), (b)) cout << (exp) << (i + 1 == (b) ? "" : (sep)); cout << "\n"

// @@ !! LIM(forall)

// ---- inserted library file forall.cc

#define EX_REP_LL(i, from, to) for (ll i = (from); i < (to); i++)
#define EX_REP_RB(x, coll) for (auto x : coll)
#define EXGEN(rep_part, cond, yes, no_behaviour) ([&]() { rep_part if (cond) return (yes); no_behaviour; }())
#define EXISTS_BASE(rep_part, cond) EXGEN(rep_part, cond, true, return false)
#define EXFIND_BASE(rep_part, cond, t) EXGEN(rep_part, cond, t, assert(0))
#define EXFIND_D_BASE(rep_part, cond, t, def) EXGEN(rep_part, cond, t, return def)

#define EXISTS(i, from, to, cond) EXISTS_BASE(EX_REP_LL(i, from, to), cond)
#define FORALL(i, from, to, cond) (not EXISTS(i, from, to, not (cond)))
#define EXFIND(i, from, to, cond) EXFIND_BASE(EX_REP_LL(i, from, to), cond, i)
#define EXFIND_D(i, from, to, cond, def) EXFIND_D_BASE(EX_REP_LL(i, from, to), cond, i, def)

#define EXISTS_C(x, coll, cond) EXISTS_BASE(EX_REP_RB(x, coll), cond)
#define FORALL_C(x, coll, cond) (not EXISTS_C(x, coll, not (cond)))
#define EXFIND_C(x, coll, cond) EXFIND_BASE(EX_REP_RB(x, coll), cond, x)
#define EXFIND_D_C(x, coll, cond, def) EXFIND_D_BASE(EX_REP_RB(x, coll), cond, x, def)

#define COUNT_BASE(rep_part, cond) ([&](){ ll ret = 0; rep_part if (cond) ret++; return ret; }())
#define COUNT(i, from, to, cond) COUNT_BASE(EX_REP_LL(i, from, to), cond)
#define COUNT_C(x, coll, cond) COUNT_BASE(EX_REP_RB(x, coll), cond)

#define IMPLIES(a, b) (not (a) or (b))

// ---- end forall.cc

// @@ !! LIM -- end mark --

int main(/* int argc, char *argv[] */) {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout << setprecision(20);

  ll N, K; cin >> N >> K;
  // @InpVec(N, S) [XKkLmF4k]
  auto S = vector(N, ll());
  for (int i = 0; i < N; i++) { ll v; cin >> v; S[i] = v; }
  // @End [XKkLmF4k]
  
  if (EXISTS(i, 0, N, S[i] == 0)) {
    cout << N << endl;
    return 0;
  }

  ll i = 0;
  ll j = 0;
  ll ans = 0;
  ll val = 1;
  while (true) {
    if (i == j or val <= K) {
      if (val <= K) ans = max(ans, j - i);
      if (j == N) break;
      val = val * S[j];
      j++;
    }else {
      val = val / S[i];
      i++;
    }
  }
  cout << ans << endl;

  return 0;
}

Submission Info

Submission Time
Task C - 列
User yamate11
Language C++ 20 (gcc 12.2)
Score 100
Code Size 2618 Byte
Status AC
Exec Time 8 ms
Memory 3948 KiB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 20 / 20 80 / 80
Status
AC × 4
AC × 27
AC × 44
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt
Subtask1 subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_corner.txt, subtask1_killer1.txt, subtask1_killer2.txt, subtask1_killer3.txt, subtask1_killer4.txt, subtask1_killer5.txt
Subtask2 subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask0_sample_04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_corner.txt, subtask1_killer1.txt, subtask1_killer2.txt, subtask1_killer3.txt, subtask1_killer4.txt, subtask1_killer5.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 1 ms 3572 KiB
subtask0_sample_02.txt AC 1 ms 3408 KiB
subtask0_sample_03.txt AC 1 ms 3388 KiB
subtask0_sample_04.txt AC 1 ms 3468 KiB
subtask1_01.txt AC 1 ms 3460 KiB
subtask1_02.txt AC 1 ms 3460 KiB
subtask1_03.txt AC 1 ms 3416 KiB
subtask1_04.txt AC 1 ms 3480 KiB
subtask1_05.txt AC 1 ms 3404 KiB
subtask1_06.txt AC 1 ms 3400 KiB
subtask1_07.txt AC 1 ms 3516 KiB
subtask1_08.txt AC 1 ms 3480 KiB
subtask1_09.txt AC 1 ms 3448 KiB
subtask1_10.txt AC 1 ms 3476 KiB
subtask1_11.txt AC 1 ms 3456 KiB
subtask1_12.txt AC 1 ms 3344 KiB
subtask1_13.txt AC 1 ms 3348 KiB
subtask1_14.txt AC 1 ms 3428 KiB
subtask1_15.txt AC 1 ms 3484 KiB
subtask1_16.txt AC 2 ms 3452 KiB
subtask1_17.txt AC 1 ms 3516 KiB
subtask1_corner.txt AC 1 ms 3404 KiB
subtask1_killer1.txt AC 1 ms 3416 KiB
subtask1_killer2.txt AC 1 ms 3468 KiB
subtask1_killer3.txt AC 1 ms 3540 KiB
subtask1_killer4.txt AC 1 ms 3452 KiB
subtask1_killer5.txt AC 1 ms 3472 KiB
subtask2_01.txt AC 5 ms 3828 KiB
subtask2_02.txt AC 4 ms 3840 KiB
subtask2_03.txt AC 7 ms 3800 KiB
subtask2_04.txt AC 5 ms 3764 KiB
subtask2_05.txt AC 7 ms 3784 KiB
subtask2_06.txt AC 8 ms 3844 KiB
subtask2_07.txt AC 5 ms 3768 KiB
subtask2_08.txt AC 6 ms 3948 KiB
subtask2_09.txt AC 5 ms 3800 KiB
subtask2_10.txt AC 5 ms 3792 KiB
subtask2_11.txt AC 6 ms 3804 KiB
subtask2_12.txt AC 6 ms 3724 KiB
subtask2_13.txt AC 6 ms 3840 KiB
subtask2_14.txt AC 6 ms 3768 KiB
subtask2_15.txt AC 8 ms 3768 KiB
subtask2_16.txt AC 5 ms 3716 KiB
subtask2_17.txt AC 5 ms 3716 KiB