QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#692684#8338. Quad Kingdoms Chesssnow_mikumikuTL 298ms31636kbC++144.0kb2024-10-31 14:54:262024-10-31 14:54:33

Judging History

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

  • [2024-10-31 14:54:33]
  • 评测
  • 测评结果:TL
  • 用时:298ms
  • 内存:31636kb
  • [2024-10-31 14:54:26]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using LL = long long;
using UL = unsigned long long;
const UL mi = 1e9 + 7;
const int N = 1e5 + 10;

UL m995[N], a[N], b[N];
struct tree {
    int l, r;
    UL cnt;
    UL max, hs, minstk;
    friend tree operator + (tree &a, tree &b) {
        tree ans;
        ans.cnt = a.cnt + b.cnt;
        ans.minstk = a.minstk;
        if(!a.minstk) ans.minstk = b.minstk;
        if(a.max > b.max) ans.max = a.max;
        else ans.max = b.max;
        ans.hs = a.hs * m995[b.cnt] + b.hs;
        return ans;
    }
}A[N << 3], B[N << 3], nul;

tree ask(int p, UL mx, int ty) 
{
    if(!ty) {
        if(!A[p].l || A[p].max < mx) return nul;
        if(A[p].minstk >= mx) return A[p];
        tree tmp = ask(p * 2, mx, ty);
        tree tmp2 = ask(p * 2 + 1, max(tmp.max, mx), ty);
        return tmp + tmp2;
    }

    else {
        if(!B[p].l || B[p].max < mx) return nul;
        if(B[p].minstk >= mx) return B[p];
        tree tmp = ask(p * 2, mx, ty);
        tree tmp2 = ask(p * 2 + 1, max(tmp.max, mx), ty);
        return tmp + tmp2;
    }
}


void update(int p, int ty)
{
    int ls = p * 2, rs = p * 2 + 1;
    if(!ty) {
        if(A[ls].max > A[rs].max) {
            A[p].cnt = A[ls].cnt;
            A[p].hs = A[ls].hs;
            A[p].max = A[ls].max;
            A[p].minstk = A[ls].minstk;
        }
        else {
            tree tmp;
            if(A[ls].max <= A[rs].minstk) tmp = A[rs];
            else tmp = ask(rs, A[ls].max, ty);
            
            tmp = A[ls] + tmp;
            A[p].cnt = tmp.cnt;
            A[p].hs = tmp.hs;
            A[p].max = tmp.max;
            A[p].minstk = tmp.minstk;
        }
    }

    else {
        if(B[ls].max > B[rs].max) {
            B[p].cnt = B[ls].cnt;
            B[p].hs = B[ls].hs;
            B[p].max = B[ls].max;
            B[p].minstk = B[ls].minstk;
        }
        else {
            tree tmp;
            if(B[ls].max <= B[rs].minstk) tmp = B[rs];
            else tmp = ask(rs, B[ls].max, ty);

            tmp = B[ls] + tmp;
            B[p].cnt = tmp.cnt;
            B[p].hs = tmp.hs;
            B[p].max = tmp.max;
            B[p].minstk = tmp.minstk;
        }
    }
}

void build(int l, int r, int p, int ty) 
{
    if(!ty) {
        A[p].l = l, A[p].r = r;
        if(l == r) {
            A[p].cnt = 1;
            A[p].max = A[p].hs = A[p].minstk = a[l];
            return;
        }
    }
    else {
        B[p].l = l, B[p].r = r;
        if(l == r) {
            B[p].cnt = 1;
            B[p].max = B[p].hs = B[p].minstk = b[l];
            return;
        }
    }
    int mid = l + r >> 1;
    build(l, mid, p * 2, ty);
    build(mid + 1, r, p * 2 + 1, ty);
    update(p, ty);
}

void change(int x, int p, UL To, int ty)
{
    if(!ty) {
        if(A[p].l == A[p].r && A[p].l == x) {
            A[p].hs = A[p].max = A[p].minstk = To;
            return;
        }

        int mid = A[p].l + A[p].r >> 1;
        if(x <= mid) change(x, p * 2, To, ty);
        else change(x, p * 2 + 1, To, ty);
        update(p, ty);
    }

    else {
        if(B[p].l == B[p].r && B[p].l == x) {
            B[p].hs = B[p].max = B[p].minstk = To;
            return;
        }

        int mid = B[p].l + B[p].r >> 1;
        if(x <= mid) change(x, p * 2, To, ty);
        else change(x, p * 2 + 1, To, ty);
        update(p, ty);
    }
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    m995[0] = 1;
    for(int i = 1; i < N; i++) m995[i] = m995[i - 1] * mi;
    int n, m, q;
    cin >> n;
    for(int i = n; i >= 1; i--) cin >> a[i];
    cin >> m;
    for(int i = m; i >= 1; i--) cin >> b[i];
    build(1, n, 1, 0);
    build(1, m, 1, 1);

    int op, x, y;
    cin >> q;
    for(int i = 1; i <= q; i++) {
        cin >> op >> x >> y;
        if(op == 1) x = n - x + 1, change(x, 1, y, 0);
        if(op == 2) x = m - x + 1, change(x, 1, y, 1);
        if(B[1].hs == A[1].hs) cout << "YES\n";
        else cout << "NO\n"; 
    }

}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 8144kb

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: 26ms
memory: 8200kb

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: 19ms
memory: 10020kb

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: 27ms
memory: 8468kb

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: 21ms
memory: 8544kb

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: 23ms
memory: 8204kb

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: 27ms
memory: 8472kb

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: 23ms
memory: 9956kb

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: 26ms
memory: 9872kb

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: 26ms
memory: 8472kb

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: 28ms
memory: 8524kb

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: 34ms
memory: 8548kb

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: 286ms
memory: 29568kb

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: 298ms
memory: 29640kb

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: 281ms
memory: 29584kb

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: 295ms
memory: 31636kb

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: