QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#589843#8338. Quad Kingdoms ChessDBsoleilTL 764ms13936kbC++204.0kb2024-09-25 20:19:542024-09-25 20:19:54

Judging History

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

  • [2024-09-25 20:19:54]
  • 评测
  • 测评结果:TL
  • 用时:764ms
  • 内存:13936kb
  • [2024-09-25 20:19:54]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

static constexpr int Maxn = 1e5 + 5, SqrN = 405, MaxB = 1205;

static constexpr uint64_t MOD1 = 1e9 + 9, MOD2 = 1e9 + 7;
static constexpr uint64_t BASE1 = 1e5 + 3, BASE2 = 1e5 + 19;
using hash_t = pair<uint64_t, uint64_t>;
hash_t operator + (hash_t lhs, int v)
{ return hash_t((lhs.first * BASE1 + v) % MOD1, (lhs.second * BASE2 + v) % MOD2); }
hash_t operator + (hash_t lhs, hash_t rhs)
{ return hash_t((lhs.first + rhs.first) % MOD1, (lhs.second + rhs.second) % MOD2); }
hash_t operator * (hash_t lhs, hash_t rhs)
{ return hash_t(lhs.first * rhs.first % MOD1, lhs.second * rhs.second % MOD2); }
const hash_t BASE = hash_t(BASE1, BASE2);
hash_t pw[Maxn];
using data_t = pair<int, hash_t>;
data_t operator + (data_t lhs, data_t rhs) {
  if (lhs.first == 0) return rhs;
  if (rhs.first == 0) return lhs;
  return data_t(lhs.first + rhs.first, hash_t(lhs.second * pw[rhs.first] + rhs.second));
} data_t New(uint64_t v) { return data_t(1, hash_t(v, v)); }

struct Array {
  int n, bn, bs, a[Maxn];
  int bel[Maxn], bL[Maxn], bR[Maxn];
  data_t h[Maxn];
  bool upd[Maxn];
  vector<pair<int, data_t>> hv[MaxB];
  unordered_map<int, data_t> mp[MaxB];
  Array() { }
  ~Array() { }
  void rebuild(int b) {
    int l = bL[b], r = bR[b];
    for (int i = l; i <= r; ++i) upd[i] = false;
    h[l] = New(a[l]); upd[l] = true;
    for (int i = l + 1, p = l; i <= r; ++i)
      if (a[i] >= a[p])
        h[i] = h[p] + New(a[i]), p = i, upd[i] = true;
      else h[i] = h[i - 1];
    hv[b].clear();
    mp[b].clear();
    hash_t cur = {0, 0};
    int len = 0;
    for (int i = r; i >= l; --i)
      if (upd[i]) {
        (cur.first += pw[len].first * a[i]) %= MOD1;
        (cur.second += pw[len].second * a[i]) %= MOD2;
        ++len;
        hv[b].emplace_back(a[i], data_t(len, cur));
      }
    reverse(hv[b].begin(), hv[b].end());
  } // Array::rebuild
  data_t qblock(int b, data_t res, int &pre) {
    if (pre > hv[b].back().first) return res;
    if (mp[b].find(pre) != mp[b].end()) {
      auto rt = mp[b][pre];
      pre = hv[b].back().first;
      return res + rt;
    } auto &rem = mp[b][pre];
    int l = bL[b], r = bR[b];
    auto it = lower_bound(hv[b].begin(), hv[b].end(), pair(pre, data_t()));
    // fprintf(stderr, "l = %d, r = %d, it = %d\n", l, r, it - hv[b].begin());
    // fprintf(stderr, "|hv[%d]| = %d\n", b, (int)hv[b].size()); fflush(stderr);
    pre = hv[b].back().first;
    // fprintf(stderr, "pre = %d\n", pre);
    res = res + it->second;
    rem = it->second;
    return res;
  } // qblock
  data_t query(void) {
    data_t res = h[bR[1]];
    int cur = hv[1].back().first;
    // fprintf(stderr, "cur = %d\n", cur);
    for (int i = 2; i <= bn; ++i)
      res = qblock(i, res, cur);
    return res;
  } // Array::query
  void input(void) {
    scanf("%d", &n); bs = min(700, n);
    for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
    reverse(a + 1, a + n + 1);
    for (int i = 1; i <= n; ++i) bel[i] = (i - 1) / bs + 1;
    bn = bel[n];
    for (int i = 1; i <= bn; ++i) {
      bL[i] = (i - 1) * bs + 1;
      bR[i] = min(i * bs, n);
    }
    for (int i = 1; i <= bn; ++i) rebuild(i);
  } // Array::input
  void update(int x, int y) {
    x = n - x + 1, a[x] = y;
    rebuild(bel[x]);
  } // update
} a[2];

int main(void) {
  pw[0] = {1, 1};
  for (int i = 1; i < Maxn; ++i)
    pw[i] = pw[i - 1] * hash_t(BASE1, BASE2);
  a[1].input(); a[0].input();
  int qn; scanf("%d", &qn);
  while (qn--) {
    int op, x, y;
    scanf("%d%d%d", &op, &x, &y);
    // fprintf(stderr, "------------------------- %d, %d, %d\n", op, x, y); fflush(stderr);
    a[op % 2].update(x, y);
    // fprintf(stderr, "update success!\n");
    auto a1 = a[1].query(), a2 = a[0].query();
    // fprintf(stderr, "a1 = (%d, (%lu, %lu))\n", a1.first, a1.second.first, a1.second.second);
    // fprintf(stderr, "a2 = (%d, (%lu, %lu))\n", a2.first, a2.second.first, a2.second.second);
    if (a1 != a2) printf("NO\n");
    else printf("YES\n");
  }
  return 0;
} // main

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 12696kb

input:

5
1 2 3 4 5
5
5 4 3 2 1
8
1 1 5
1 4 2
1 2 4
1 5 1
1 5 5
2 1 4
2 3 5
2 5 5

output:

NO
NO
NO
YES
NO
NO
NO
YES

result:

ok 8 tokens

Test #2:

score: 0
Accepted
time: 33ms
memory: 11940kb

input:

1
2
6
2 1 1 1 1 1
200000
2 6 2
1 1 1
1 1 1
1 1 2
2 1 1
1 1 2
1 1 1
2 4 1
2 1 2
1 1 1
1 1 2
2 5 1
1 1 1
1 1 2
1 1 1
2 6 1
1 1 2
1 1 2
1 1 2
2 3 1
1 1 1
2 1 1
2 6 2
1 1 2
2 4 1
1 1 2
2 6 1
1 1 2
1 1 1
2 5 2
2 6 2
1 1 1
2 4 2
2 5 2
2 6 2
1 1 1
2 5 1
2 6 2
1 1 2
1 1 1
1 1 1
2 4 1
1 1 2
1 1 2
1 1 2
2 3 2...

output:

NO
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
N...

result:

ok 200000 tokens

Test #3:

score: 0
Accepted
time: 34ms
memory: 13108kb

input:

6
2 1 1 2 1 2
1
1
200000
2 1 1
1 1 2
1 1 1
2 1 2
2 1 1
2 1 1
2 1 2
2 1 2
1 1 2
1 3 1
1 6 2
1 5 2
1 4 2
1 3 1
2 1 2
1 4 2
1 4 2
2 1 2
2 1 2
1 3 1
1 6 1
1 1 2
2 1 1
1 6 1
1 3 1
1 5 2
1 6 2
1 5 2
2 1 2
1 2 1
1 5 2
2 1 1
2 1 1
1 6 1
2 1 2
2 1 1
1 3 2
2 1 1
1 6 1
1 4 2
1 2 1
1 1 1
2 1 1
1 2 1
1 6 2
1 6 2...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok 200000 tokens

Test #4:

score: 0
Accepted
time: 36ms
memory: 12992kb

input:

6
1 3 1 2 1 2
6
2 1 3 3 3 1
200000
2 4 2
1 2 1
1 6 2
2 3 2
1 1 1
1 6 2
1 6 2
1 3 2
2 6 1
2 4 3
1 1 2
2 5 2
2 6 2
2 3 1
1 4 3
1 3 1
2 5 2
2 4 2
2 1 3
1 1 1
2 2 2
2 4 2
1 5 3
1 6 3
2 6 3
1 5 3
2 5 3
2 4 1
2 4 2
1 1 2
1 6 1
2 6 1
1 2 3
1 1 3
1 1 1
2 6 3
2 4 1
1 4 2
2 2 1
1 3 1
1 1 3
1 1 3
1 4 3
1 3 3
2...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
YES
YES
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
N...

result:

ok 200000 tokens

Test #5:

score: 0
Accepted
time: 36ms
memory: 12016kb

input:

4
1 1 2 2
1
1
200000
2 1 2
1 1 3
1 2 1
2 1 2
2 1 2
2 1 3
2 1 1
2 1 1
1 4 2
2 1 3
1 3 1
1 2 1
1 3 2
2 1 1
1 4 2
2 1 1
2 1 2
1 1 1
2 1 2
2 1 1
1 4 1
1 2 2
2 1 1
1 1 1
1 4 3
2 1 3
1 1 3
2 1 2
1 2 1
2 1 1
2 1 1
2 1 1
2 1 3
2 1 2
1 2 3
2 1 3
1 3 3
2 1 1
1 2 3
2 1 2
1 1 2
2 1 2
2 1 3
1 2 1
1 4 3
2 1 2
2 1...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
YES
NO
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
N...

result:

ok 200000 tokens

Test #6:

score: 0
Accepted
time: 37ms
memory: 13064kb

input:

2
4 2
4
2 3 3 2
200000
1 1 2
1 2 2
1 2 2
1 2 4
1 1 2
1 2 4
2 2 1
1 1 3
2 3 2
2 3 1
2 2 4
2 3 2
2 2 1
1 1 4
1 2 4
2 2 1
1 1 2
2 1 2
2 4 4
1 2 4
1 2 3
2 4 4
2 3 1
2 1 3
2 3 1
2 2 1
1 1 2
2 2 1
1 2 3
1 2 2
1 2 1
1 2 4
1 2 4
1 1 3
1 1 4
2 1 3
1 1 1
1 2 4
2 1 2
2 3 4
1 2 4
2 2 1
1 2 1
2 3 2
1 2 3
2 3 3
1...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
YES
NO
NO
YES
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
N...

result:

ok 200000 tokens

Test #7:

score: 0
Accepted
time: 37ms
memory: 12696kb

input:

7
3 3 4 1 1 3 3
5
3 3 2 1 4
200000
2 2 1
2 2 1
2 5 1
1 6 1
1 5 2
2 1 4
1 4 2
1 6 4
1 7 1
1 2 3
2 5 1
2 5 4
1 6 2
1 5 2
1 4 1
1 2 1
2 2 2
1 3 4
1 7 2
1 6 3
2 5 1
1 5 1
1 7 3
2 1 3
2 3 1
1 3 2
2 2 2
1 7 4
2 1 4
1 3 2
1 1 2
1 5 3
1 5 3
2 2 2
1 5 3
2 5 3
2 3 2
1 1 3
1 2 2
2 2 1
2 1 4
2 1 2
1 3 4
2 1 1
1...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO...

result:

ok 200000 tokens

Test #8:

score: 0
Accepted
time: 33ms
memory: 12056kb

input:

1
3
7
4 4 5 5 5 5 4
200000
2 2 4
2 6 4
1 1 4
2 6 4
2 1 3
2 2 3
2 1 3
1 1 5
1 1 5
2 3 5
1 1 4
1 1 4
2 6 5
2 5 1
2 1 2
2 7 2
1 1 5
2 4 5
1 1 2
1 1 3
2 4 2
2 1 3
1 1 3
2 1 1
1 1 1
2 3 1
1 1 4
1 1 5
1 1 1
2 5 2
2 7 3
1 1 5
2 6 4
1 1 4
2 7 4
2 3 3
2 3 1
1 1 3
1 1 3
2 4 4
1 1 4
1 1 2
1 1 1
2 3 1
2 1 1
1 1...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok 200000 tokens

Test #9:

score: 0
Accepted
time: 36ms
memory: 12212kb

input:

8
3 1 2 2 1 4 4 4
3
1 4 4
200000
1 2 1
1 5 1
2 1 1
2 1 1
2 2 2
2 3 1
1 5 5
1 6 2
1 2 5
1 3 1
1 5 1
2 1 5
2 1 2
1 4 4
2 3 3
1 4 3
2 2 2
2 3 1
1 6 4
1 1 3
1 2 3
2 2 5
2 3 3
2 1 3
2 3 4
2 1 4
2 2 5
2 2 4
2 2 2
1 3 1
1 8 2
2 2 3
1 2 2
1 1 2
1 1 1
1 3 1
2 1 3
2 2 3
1 6 2
2 2 4
1 6 3
2 1 1
1 1 4
2 1 4
2 1...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO...

result:

ok 200000 tokens

Test #10:

score: 0
Accepted
time: 37ms
memory: 13132kb

input:

3
6 1 5
2
5 3
200000
1 2 4
1 1 3
1 2 5
2 2 5
1 3 3
1 1 6
1 3 1
1 2 1
2 1 6
2 1 4
2 1 2
2 2 3
1 3 1
1 3 5
1 2 4
2 2 5
1 2 5
1 3 1
2 1 3
1 2 6
1 2 4
2 1 3
1 2 4
1 2 1
1 3 2
2 2 6
2 1 4
2 2 4
1 1 2
1 1 4
2 2 2
2 1 4
1 2 2
1 1 3
2 1 4
1 3 3
2 1 6
2 2 2
1 1 6
1 3 6
1 2 2
1 3 1
2 2 3
1 2 2
2 1 2
2 2 5
2 2...

output:

NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO...

result:

ok 200000 tokens

Test #11:

score: 0
Accepted
time: 34ms
memory: 12344kb

input:

3
1 1 6
5
2 3 4 4 6
200000
2 3 5
2 5 5
1 1 4
1 2 4
1 1 1
2 4 3
2 1 2
1 1 6
2 2 2
2 5 4
1 3 4
1 3 4
2 3 5
2 1 6
1 1 1
2 3 4
2 3 5
2 2 5
1 1 5
1 2 2
1 3 2
2 2 1
1 3 5
2 3 6
1 3 3
2 1 3
2 5 3
1 1 1
2 4 4
2 5 1
2 2 5
1 2 2
1 2 3
2 4 5
1 3 5
2 1 1
2 5 1
1 2 1
2 5 4
2 3 1
2 1 6
1 1 2
1 3 6
1 2 1
2 3 6
1 1...

output:

YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO...

result:

ok 200000 tokens

Test #12:

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

input:

8
73198 31688 65092 21397 35031 58089 52944 16010
5
31090 97692 26708 44940 89767
200000
2 5 31191
1 1 60759
1 6 70508
1 2 97983
2 3 53563
1 4 22102
1 7 36211
1 3 33339
1 8 49224
1 7 82146
2 5 97668
1 4 13552
1 2 26414
2 4 3381
1 4 42198
1 4 28786
2 2 29892
2 2 77347
1 5 53766
2 5 55142
2 5 74266
1 ...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok 200000 tokens

Test #13:

score: 0
Accepted
time: 756ms
memory: 13340kb

input:

100000
45952 97807 4941 35929 10776 28013 47912 21386 48030 55110 1347 96260 91732 78252 37717 2556 44017 67045 91588 59689 86623 88384 41158 38652 77627 83554 48557 85544 94827 54704 86949 61451 79790 92480 74798 43911 65450 20096 17129 95952 87522 98877 41827 51143 42419 98384 27210 34607 91233 46...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok 200000 tokens

Test #14:

score: 0
Accepted
time: 745ms
memory: 13708kb

input:

99999
63127 96070 94785 89195 36543 10379 61583 85361 26575 9864 5151 96584 83262 87738 81493 77141 957 85599 81652 87068 4820 15001 46075 98990 61085 56983 57764 32157 77477 14215 30908 16088 14960 12782 94204 27770 46161 27063 96224 2650 24147 26074 38982 83573 17957 99486 59358 23283 57128 99050 ...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok 200000 tokens

Test #15:

score: 0
Accepted
time: 751ms
memory: 13936kb

input:

100000
68214 14278 37605 60661 99170 80223 36766 31910 84546 73869 71165 34670 68418 70464 20442 58316 35031 88027 80204 79629 551 31609 19679 1212 38536 82523 35294 92345 88330 22996 51154 53211 29973 9721 49738 90623 48990 25469 71407 49128 535 8200 26661 15644 15135 25331 98894 41005 17663 39304 ...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok 200000 tokens

Test #16:

score: 0
Accepted
time: 764ms
memory: 13512kb

input:

100000
57213 50345 68705 14599 49470 22513 27829 26899 22016 91370 45853 47295 22213 79723 29957 37376 12873 29410 6657 29667 3109 97902 38284 19827 48632 85126 91179 11224 55743 43474 82364 25854 56073 28625 54384 56394 71844 15498 33052 21358 88176 64296 93186 93622 49034 78502 62075 60918 78225 6...

output:

NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
...

result:

ok 200000 tokens

Test #17:

score: -100
Time Limit Exceeded

input:

100000
5 10 10 8 10 10 9 10 6 7 10 5 10 7 7 10 1 10 10 10 2 5 10 8 10 5 10 9 10 10 10 2 10 4 10 7 7 10 9 9 3 6 10 2 10 9 6 6 10 7 7 10 10 7 10 7 10 6 2 10 4 4 4 10 6 6 4 10 10 10 10 10 1 8 10 8 4 10 8 8 10 5 2 1 6 6 10 9 3 10 10 4 10 1 4 10 7 10 10 2 8 2 10 6 5 10 8 3 10 2 4 10 4 10 9 5 10 10 9 10 1...

output:

NO
NO
NO
YES
YES
YES
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
NO
YES
NO
NO
NO
YES
YES
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
YES
YES
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
NO
NO
YES
NO
NO
NO
NO
NO
YES
YES
YES
NO
NO
NO
YES
NO
YES
YES
NO
NO
YES
NO
NO
NO
N...

result: