QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#133150#6625. Binariahos_lyric25 ✓70ms19056kbC++145.4kb2023-08-01 16:32:192023-08-01 16:32:20

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-01 16:32:20]
  • 评测
  • 测评结果:25
  • 用时:70ms
  • 内存:19056kb
  • [2023-08-01 16:32:19]
  • 提交

answer

#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>

using namespace std;

using Int = long long;

template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }

////////////////////////////////////////////////////////////////////////////////
template <unsigned M_> struct ModInt {
  static constexpr unsigned M = M_;
  unsigned x;
  constexpr ModInt() : x(0U) {}
  constexpr ModInt(unsigned x_) : x(x_ % M) {}
  constexpr ModInt(unsigned long long x_) : x(x_ % M) {}
  constexpr ModInt(int x_) : x(((x_ %= static_cast<int>(M)) < 0) ? (x_ + static_cast<int>(M)) : x_) {}
  constexpr ModInt(long long x_) : x(((x_ %= static_cast<long long>(M)) < 0) ? (x_ + static_cast<long long>(M)) : x_) {}
  ModInt &operator+=(const ModInt &a) { x = ((x += a.x) >= M) ? (x - M) : x; return *this; }
  ModInt &operator-=(const ModInt &a) { x = ((x -= a.x) >= M) ? (x + M) : x; return *this; }
  ModInt &operator*=(const ModInt &a) { x = (static_cast<unsigned long long>(x) * a.x) % M; return *this; }
  ModInt &operator/=(const ModInt &a) { return (*this *= a.inv()); }
  ModInt pow(long long e) const {
    if (e < 0) return inv().pow(-e);
    ModInt a = *this, b = 1U; for (; e; e >>= 1) { if (e & 1) b *= a; a *= a; } return b;
  }
  ModInt inv() const {
    unsigned a = M, b = x; int y = 0, z = 1;
    for (; b; ) { const unsigned q = a / b; const unsigned c = a - q * b; a = b; b = c; const int w = y - static_cast<int>(q) * z; y = z; z = w; }
    assert(a == 1U); return ModInt(y);
  }
  ModInt operator+() const { return *this; }
  ModInt operator-() const { ModInt a; a.x = x ? (M - x) : 0U; return a; }
  ModInt operator+(const ModInt &a) const { return (ModInt(*this) += a); }
  ModInt operator-(const ModInt &a) const { return (ModInt(*this) -= a); }
  ModInt operator*(const ModInt &a) const { return (ModInt(*this) *= a); }
  ModInt operator/(const ModInt &a) const { return (ModInt(*this) /= a); }
  template <class T> friend ModInt operator+(T a, const ModInt &b) { return (ModInt(a) += b); }
  template <class T> friend ModInt operator-(T a, const ModInt &b) { return (ModInt(a) -= b); }
  template <class T> friend ModInt operator*(T a, const ModInt &b) { return (ModInt(a) *= b); }
  template <class T> friend ModInt operator/(T a, const ModInt &b) { return (ModInt(a) /= b); }
  explicit operator bool() const { return x; }
  bool operator==(const ModInt &a) const { return (x == a.x); }
  bool operator!=(const ModInt &a) const { return (x != a.x); }
  friend std::ostream &operator<<(std::ostream &os, const ModInt &a) { return os << a.x; }
};
////////////////////////////////////////////////////////////////////////////////

constexpr unsigned MO = 1'000'003;
using Mint = ModInt<MO>;


constexpr int LIM_INV = 1'000'003;
Mint inv[LIM_INV], fac[LIM_INV], invFac[LIM_INV];

void prepare() {
  inv[1] = 1;
  for (int i = 2; i < LIM_INV; ++i) {
    inv[i] = -((Mint::M / i) * inv[Mint::M % i]);
  }
  fac[0] = invFac[0] = 1;
  for (int i = 1; i < LIM_INV; ++i) {
    fac[i] = fac[i - 1] * i;
    invFac[i] = invFac[i - 1] * inv[i];
  }
}
Mint binom(Int n, Int k) {
  if (n < 0) {
    if (k >= 0) {
      return ((k & 1) ? -1 : +1) * binom(-n + k - 1, k);
    } else if (n - k >= 0) {
      return (((n - k) & 1) ? -1 : +1) * binom(-k - 1, n - k);
    } else {
      return 0;
    }
  } else {
    if (0 <= k && k <= n) {
      assert(n < LIM_INV);
      return fac[n] * invFac[k] * invFac[n - k];
    } else {
      return 0;
    }
  }
}


int N, K;
vector<int> A;

int main() {
  prepare();
  for (; ~scanf("%d%d", &N, &K); ) {
    A.resize(N - K + 1);
    for (int i = 0; i < N - K + 1; ++i) {
      scanf("%d", &A[i]);
    }
    
    bool ok = true;
    int cnt[2] = {};
    for (int r = 0; r < K; ++r) {
      if (r < N - K + 1) {
        int now = 0;
        int mn = 0, mx = 0;
        for (int i = r; i + 1 < N - K + 1; i += K) {
          // [i, i+K-1] vs [i+1, i+K]
          now += (A[i + 1] - A[i]);
          chmin(mn, now);
          chmax(mx, now);
        }
        ok = ok && (mx - mn <= 1);
// cerr<<"r = "<<r<<": mn = "<<mn<<", mx = "<<mx<<endl;
        if (mx - mn == 1) {
          ++cnt[(mx == 0) ? 1 : 0];
        }
      }
    }
// cerr<<"cnt = ";pv(cnt,cnt+2);
    
    Mint ans = 0;
    if (ok) {
      ans = binom(K - cnt[0] - cnt[1], A[0] - cnt[1]);
    }
    printf("%u\n", ans.x);
  }
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 3
Accepted

Test #1:

score: 3
Accepted
time: 12ms
memory: 15308kb

input:

1 1
0

output:

1

result:

ok 1 number(s): "1"

Test #2:

score: 0
Accepted
time: 5ms
memory: 15596kb

input:

1 1
1

output:

1

result:

ok 1 number(s): "1"

Test #3:

score: 0
Accepted
time: 12ms
memory: 15376kb

input:

10 3
1 2 2 2 2 2 2 2

output:

2

result:

ok 1 number(s): "2"

Test #4:

score: 0
Accepted
time: 8ms
memory: 15360kb

input:

10 3
1 1 0 1 2 3 2 2

output:

1

result:

ok 1 number(s): "1"

Test #5:

score: 0
Accepted
time: 8ms
memory: 15444kb

input:

10 3
2 2 2 2 2 2 2 2

output:

3

result:

ok 1 number(s): "3"

Test #6:

score: 0
Accepted
time: 9ms
memory: 15380kb

input:

10 3
2 1 1 1 1 2 2 3

output:

1

result:

ok 1 number(s): "1"

Test #7:

score: 0
Accepted
time: 8ms
memory: 15588kb

input:

10 3
1 1 1 0 0 0 0 0

output:

1

result:

ok 1 number(s): "1"

Test #8:

score: 0
Accepted
time: 12ms
memory: 15352kb

input:

10 3
0 0 0 0 0 0 0 0

output:

1

result:

ok 1 number(s): "1"

Test #9:

score: 0
Accepted
time: 8ms
memory: 15604kb

input:

10 2
1 1 1 1 1 1 1 1 1

output:

2

result:

ok 1 number(s): "2"

Test #10:

score: 0
Accepted
time: 8ms
memory: 15312kb

input:

10 2
1 1 1 1 1 1 1 1 2

output:

1

result:

ok 1 number(s): "1"

Test #11:

score: 0
Accepted
time: 8ms
memory: 15336kb

input:

10 2
1 1 0 0 0 0 0 1 2

output:

1

result:

ok 1 number(s): "1"

Test #12:

score: 0
Accepted
time: 12ms
memory: 15372kb

input:

2 2
1

output:

2

result:

ok 1 number(s): "2"

Subtask #2:

score: 3
Accepted

Dependency #1:

100%
Accepted

Test #13:

score: 3
Accepted
time: 12ms
memory: 15328kb

input:

10 10
7

output:

120

result:

ok 1 number(s): "120"

Test #14:

score: 0
Accepted
time: 12ms
memory: 15588kb

input:

10 10
1

output:

10

result:

ok 1 number(s): "10"

Test #15:

score: 0
Accepted
time: 8ms
memory: 15356kb

input:

10 5
3 4 3 2 3 2

output:

1

result:

ok 1 number(s): "1"

Test #16:

score: 0
Accepted
time: 12ms
memory: 15420kb

input:

10 6
3 3 3 3 4

output:

10

result:

ok 1 number(s): "10"

Test #17:

score: 0
Accepted
time: 8ms
memory: 15456kb

input:

10 4
2 2 2 1 1 1 1

output:

3

result:

ok 1 number(s): "3"

Test #18:

score: 0
Accepted
time: 12ms
memory: 15424kb

input:

10 7
1 2 3 2

output:

1

result:

ok 1 number(s): "1"

Test #19:

score: 0
Accepted
time: 12ms
memory: 15552kb

input:

10 8
8 8 7

output:

1

result:

ok 1 number(s): "1"

Test #20:

score: 0
Accepted
time: 8ms
memory: 15308kb

input:

10 9
4 5

output:

70

result:

ok 1 number(s): "70"

Subtask #3:

score: 4
Accepted

Dependency #2:

100%
Accepted

Test #21:

score: 4
Accepted
time: 12ms
memory: 15344kb

input:

1000 10
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ...

output:

210

result:

ok 1 number(s): "210"

Test #22:

score: 0
Accepted
time: 12ms
memory: 15568kb

input:

1000 10
5 6 6 7 7 7 7 8 7 8 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 ...

output:

1

result:

ok 1 number(s): "1"

Test #23:

score: 0
Accepted
time: 8ms
memory: 15372kb

input:

1000 10
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ...

output:

252

result:

ok 1 number(s): "252"

Test #24:

score: 0
Accepted
time: 6ms
memory: 15312kb

input:

1000 10
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ...

output:

45

result:

ok 1 number(s): "45"

Test #25:

score: 0
Accepted
time: 12ms
memory: 15588kb

input:

1000 10
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1...

output:

1

result:

ok 1 number(s): "1"

Test #26:

score: 0
Accepted
time: 12ms
memory: 15380kb

input:

1000 10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

output:

1

result:

ok 1 number(s): "1"

Test #27:

score: 0
Accepted
time: 7ms
memory: 15360kb

input:

1000 9
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5...

output:

126

result:

ok 1 number(s): "126"

Test #28:

score: 0
Accepted
time: 8ms
memory: 15424kb

input:

1000 9
5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4...

output:

70

result:

ok 1 number(s): "70"

Test #29:

score: 0
Accepted
time: 9ms
memory: 15460kb

input:

1000 9
7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6...

output:

28

result:

ok 1 number(s): "28"

Test #30:

score: 0
Accepted
time: 9ms
memory: 15420kb

input:

1000 9
6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6...

output:

10

result:

ok 1 number(s): "10"

Test #31:

score: 0
Accepted
time: 12ms
memory: 15592kb

input:

1000 10
5 5 5 5 4 4 4 4 4 4 3 3 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

output:

15

result:

ok 1 number(s): "15"

Test #32:

score: 0
Accepted
time: 12ms
memory: 15552kb

input:

1000 7
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3...

output:

15

result:

ok 1 number(s): "15"

Test #33:

score: 0
Accepted
time: 13ms
memory: 15380kb

input:

1000 8
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5...

output:

56

result:

ok 1 number(s): "56"

Subtask #4:

score: 4
Accepted

Dependency #3:

100%
Accepted

Test #34:

score: 4
Accepted
time: 48ms
memory: 18896kb

input:

1000000 20
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9...

output:

167960

result:

ok 1 number(s): "167960"

Test #35:

score: 0
Accepted
time: 49ms
memory: 18856kb

input:

1000000 20
10 10 11 10 10 10 10 10 10 10 9 9 10 9 8 8 8 8 8 9 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 9 9 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 9 10 10 10 9 9 9 9 9 9 9 9 9 9 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 1...

output:

1

result:

ok 1 number(s): "1"

Test #36:

score: 0
Accepted
time: 51ms
memory: 18984kb

input:

1000000 20
14 14 13 13 12 12 13 13 13 14 14 13 12 12 13 13 13 13 12 11 11 11 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 11 11 11 11 11 11 11 11 11 1...

output:

1

result:

ok 1 number(s): "1"

Test #37:

score: 0
Accepted
time: 44ms
memory: 18676kb

input:

1000000 20
17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 1...

output:

153

result:

ok 1 number(s): "153"

Test #38:

score: 0
Accepted
time: 41ms
memory: 18988kb

input:

1000000 20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

output:

1

result:

ok 1 number(s): "1"

Test #39:

score: 0
Accepted
time: 56ms
memory: 18908kb

input:

1000000 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2...

output:

1

result:

ok 1 number(s): "1"

Test #40:

score: 0
Accepted
time: 64ms
memory: 19008kb

input:

1000000 20
13 13 13 13 13 13 13 12 12 12 12 12 12 13 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 12 12 12 12 12 12 12 1...

output:

5

result:

ok 1 number(s): "5"

Test #41:

score: 0
Accepted
time: 50ms
memory: 18820kb

input:

1000000 13
5 5 4 4 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3...

output:

84

result:

ok 1 number(s): "84"

Test #42:

score: 0
Accepted
time: 46ms
memory: 18984kb

input:

1000000 18
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3...

output:

15

result:

ok 1 number(s): "15"

Test #43:

score: 0
Accepted
time: 42ms
memory: 18836kb

input:

1000000 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

output:

1

result:

ok 1 number(s): "1"

Test #44:

score: 0
Accepted
time: 43ms
memory: 18760kb

input:

1000000 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

output:

1

result:

ok 1 number(s): "1"

Test #45:

score: 0
Accepted
time: 54ms
memory: 18976kb

input:

1000000 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

output:

1

result:

ok 1 number(s): "1"

Test #46:

score: 0
Accepted
time: 53ms
memory: 18836kb

input:

1000000 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

output:

2

result:

ok 1 number(s): "2"

Test #47:

score: 0
Accepted
time: 56ms
memory: 18892kb

input:

1000000 20
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1...

output:

184756

result:

ok 1 number(s): "184756"

Test #48:

score: 0
Accepted
time: 52ms
memory: 19052kb

input:

1000000 20
12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 1...

output:

50388

result:

ok 1 number(s): "50388"

Subtask #5:

score: 4
Accepted

Dependency #4:

100%
Accepted

Test #49:

score: 4
Accepted
time: 64ms
memory: 18920kb

input:

1000000 3000
1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 15...

output:

53926

result:

ok 1 number(s): "53926"

Test #50:

score: 0
Accepted
time: 66ms
memory: 18904kb

input:

1000000 3000
1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 1990 19...

output:

375745

result:

ok 1 number(s): "375745"

Test #51:

score: 0
Accepted
time: 59ms
memory: 18796kb

input:

1000000 3000
1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1436 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 1435 14...

output:

611689

result:

ok 1 number(s): "611689"

Test #52:

score: 0
Accepted
time: 56ms
memory: 18820kb

input:

1000000 3000
1511 1512 1512 1512 1512 1511 1510 1511 1511 1512 1513 1512 1512 1511 1511 1511 1511 1510 1511 1511 1511 1512 1511 1510 1509 1510 1509 1510 1510 1509 1510 1511 1512 1512 1512 1511 1512 1511 1511 1512 1512 1513 1513 1512 1512 1513 1512 1511 1512 1511 1512 1513 1512 1512 1513 1513 1514 15...

output:

1

result:

ok 1 number(s): "1"

Test #53:

score: 0
Accepted
time: 70ms
memory: 18828kb

input:

1000000 3000
2876 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2875 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 2874 28...

output:

1

result:

ok 1 number(s): "1"

Test #54:

score: 0
Accepted
time: 64ms
memory: 18852kb

input:

1000000 3000
2977 2977 2977 2977 2977 2977 2977 2977 2977 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 2978 29...

output:

471615

result:

ok 1 number(s): "471615"

Test #55:

score: 0
Accepted
time: 58ms
memory: 18980kb

input:

1000000 3000
1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 1996 19...

output:

70180

result:

ok 1 number(s): "70180"

Test #56:

score: 0
Accepted
time: 61ms
memory: 18676kb

input:

1000000 3000
867 867 867 867 867 867 867 867 867 868 868 868 868 868 868 868 867 867 867 866 866 866 866 865 866 866 867 867 866 866 867 868 869 869 869 869 868 868 869 870 870 869 869 869 869 869 869 868 868 869 870 869 868 868 868 868 868 867 867 867 868 869 870 870 869 870 870 871 871 872 871 871...

output:

1

result:

ok 1 number(s): "1"

Test #57:

score: 0
Accepted
time: 52ms
memory: 19056kb

input:

1000000 3000
2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 2997 29...

output:

487515

result:

ok 1 number(s): "487515"

Test #58:

score: 0
Accepted
time: 66ms
memory: 18840kb

input:

1000000 3000
2397 2397 2397 2397 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2396 2397 2397 2397 2397 2397 2397 2397 2397 2396 2396 2396 2396 2397 2397 2397 2397 2397 2397 2398 2398 2398 2398 23...

output:

943965

result:

ok 1 number(s): "943965"

Test #59:

score: 0
Accepted
time: 50ms
memory: 18896kb

input:

1000000 1337
478 477 477 477 477 478 478 478 479 480 480 479 478 477 477 477 477 477 478 478 478 479 478 478 477 477 477 477 478 478 479 479 479 479 479 480 479 479 478 479 480 480 480 481 482 482 482 482 482 482 482 481 481 480 480 479 479 480 481 481 481 481 482 482 482 483 483 483 484 484 485 484...

output:

645202

result:

ok 1 number(s): "645202"

Subtask #6:

score: 7
Accepted

Dependency #5:

100%
Accepted

Test #60:

score: 7
Accepted
time: 8ms
memory: 15444kb

input:

1000000 1000000
500000

output:

375001

result:

ok 1 number(s): "375001"

Test #61:

score: 0
Accepted
time: 8ms
memory: 15372kb

input:

1000000 1000000
376577

output:

529387

result:

ok 1 number(s): "529387"

Test #62:

score: 0
Accepted
time: 6ms
memory: 15332kb

input:

1000000 999999
876543 876543

output:

614361

result:

ok 1 number(s): "614361"

Test #63:

score: 0
Accepted
time: 12ms
memory: 15600kb

input:

1000000 999999
553875 553876

output:

277031

result:

ok 1 number(s): "277031"

Test #64:

score: 0
Accepted
time: 50ms
memory: 16816kb

input:

1000000 500000
364645 364645 364645 364645 364645 364645 364645 364644 364644 364644 364644 364644 364644 364644 364643 364643 364643 364643 364643 364643 364643 364643 364643 364643 364643 364643 364642 364642 364642 364642 364642 364642 364642 364642 364642 364642 364642 364642 364642 364642 36464...

output:

48211

result:

ok 1 number(s): "48211"

Test #65:

score: 0
Accepted
time: 24ms
memory: 16256kb

input:

1000000 654321
306156 306156 306156 306156 306156 306156 306156 306156 306156 306156 306156 306157 306157 306157 306157 306157 306157 306157 306157 306157 306158 306158 306158 306158 306158 306158 306158 306158 306157 306157 306157 306157 306157 306157 306157 306157 306157 306157 306157 306157 30615...

output:

149704

result:

ok 1 number(s): "149704"

Test #66:

score: 0
Accepted
time: 44ms
memory: 17840kb

input:

1000000 200000
134176 134176 134177 134177 134178 134178 134177 134178 134178 134178 134178 134177 134177 134178 134179 134179 134179 134179 134179 134179 134179 134179 134179 134179 134178 134179 134179 134179 134179 134178 134178 134178 134178 134177 134177 134177 134177 134177 134176 134176 13417...

output:

814377

result:

ok 1 number(s): "814377"

Test #67:

score: 0
Accepted
time: 11ms
memory: 15376kb

input:

1000000 909090
9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 9045 ...

output:

604727

result:

ok 1 number(s): "604727"

Test #68:

score: 0
Accepted
time: 4ms
memory: 15552kb

input:

1000000 1000000
1000000

output:

1

result:

ok 1 number(s): "1"

Test #69:

score: 0
Accepted
time: 6ms
memory: 15304kb

input:

1000000 1000000
0

output:

1

result:

ok 1 number(s): "1"

Test #70:

score: 0
Accepted
time: 8ms
memory: 15380kb

input:

1000000 999999
499999 500000

output:

507814

result:

ok 1 number(s): "507814"

Extra Test:

score: 0
Extra Test Passed