编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#27444 #1151. 把你挂在地灵殿门口当装饰品! Wrong Answer 0 15335 ms 10948 K C++ 17 (Clang) / 2.1 K Komeiji Koishi 2020-06-30 11:15:21
显示原始代码
#include <bits/stdc++.h>
#define maxn 200050
using namespace std;

int n, a[maxn];

struct node {
    int cnt;
    int lnum, llen;
    int rnum, rlen;
} T[maxn << 2];
#define cnt(k) T[k].cnt
#define lnum(k) T[k].lnum
#define rnum(k) T[k].rnum
#define llen(k) T[k].llen
#define rlen(k) T[k].rlen

void update(int k) {
    int ls = k << 1, rs = k << 1 | 1;
    lnum(k) = cnt(ls) ? lnum(ls) : lnum(rs);
    rnum(k) = cnt(rs) ? rnum(rs) : rnum(ls);

    cnt(k) = cnt(ls) + cnt(rs);
    llen(k) = llen(ls), rlen(k) = rlen(rs);

    if (!cnt(ls) || !cnt(rs) || rnum(ls) < lnum(rs)) {
        if (llen(ls) == cnt(ls))
            llen(k) += llen(rs);
        if (rlen(rs) == cnt(rs))
            rlen(k) += rlen(ls);
    }
}

void build(int k, int l, int r) {
    if (l == r) {
        cnt(k) = llen(k) = rlen(k) = 1;
        lnum(k) = rnum(k) = a[l];
    } else {
        int mid = (l + r) >> 1;
        build(k << 1, l, mid);
        build(k << 1 | 1, mid + 1, r);
        update(k);
    }
    // cout<<k<<" "<<l<<" "<<r<<":"<<cnt(k)<<" "<<lnum(k)<<","<<rnum(k)<<" "<<llen(k)<<","<<rlen(k)<<endl;
}

void change(int k, int l, int r, int p) {
    if (l == r) {
        cnt(k) = llen(k) = rlen(k) = 0;
        lnum(k) = rnum(k) = 0;
    } else {
        int mid = (l + r) >> 1;
        if (p <= mid)
            change(k << 1, l, mid, p);
        else
            change(k << 1 | 1, mid + 1, r, p);
        update(k);
    }
}

int main() {
    int Tc;
    scanf("%d", &Tc);
    while (Tc--) {
        scanf("%d", &n);
        for (int i = 1; i <= n; ++i) scanf("%d", a + i);
        build(1, 1, n);

        int mn = n + 1, mx = 0;

        if (llen(1) + rlen(1) >= n)
            mn = mx = 0;

        int j = 0;
        for (int i = 1; i <= n; ++i) {
            if (a[i - 1] > a[i])
                break;
            j = max(j, a[i]);
            change(1, 1, n, a[i]);
            // cout<<i<<":"<<llen(1)<<" "<<rlen(1)<<" "<<j-i<<endl;
            if (llen(1) + rlen(1) >= cnt(1) && llen(1) >= j - i) {
                // cout<<"upd:"<<i<<endl;
                mn = min(mn, i);
                mx = max(mx, i);
            }
        }
        if (mn > mx)
            mn = mx = -1;
        printf("%d %d\n", mn, mx);
    }
    return 0;
}
子任务 #1
Wrong Answer
得分:0
测试点 #1
Wrong Answer
得分:0
用时:4 ms
内存:284 KiB

输入文件(1.in

10
1 5 2 6 3 7 4 8 9 10 

答案文件(1.out

0 2

用户输出

0 0
0 0
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1

Special Judge 信息

Files user_out and answer differ

系统信息

Exited with return code 0
测试点 #2
Wrong Answer
得分:0
用时:4 ms
内存:304 KiB

输入文件(2.in

10
2 3 1 4 6 7 8 5 9 10 

答案文件(2.out

2 2

用户输出

0 0
0 0
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1

Special Judge 信息

Files user_out and answer differ

系统信息

Exited with return code 0
测试点 #3
Wrong Answer
得分:0
用时:4 ms
内存:280 KiB

输入文件(3.in

10
4 5 6 1 2 7 8 3 9 10 

答案文件(3.out

0 3

用户输出

0 0
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1

Special Judge 信息

Files user_out and answer differ

系统信息

Exited with return code 0
测试点 #4
Wrong Answer
得分:0
用时:4 ms
内存:352 KiB

输入文件(4.in

10
1 5 6 2 7 8 9 10 3 4 

答案文件(4.out

0 3

用户输出

0 0
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1

Special Judge 信息

Files user_out and answer differ

系统信息

Exited with return code 0
测试点 #5
Wrong Answer
得分:0
用时:4 ms
内存:352 KiB

输入文件(5.in

10
2 4 6 7 8 9 1 3 5 10 

答案文件(5.out

2 6

用户输出

0 0
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1
-1 -1

Special Judge 信息

Files user_out and answer differ

系统信息

Exited with return code 0
测试点 #6
Time Limit Exceeded
得分:0
用时:1006 ms
内存:7036 KiB

输入文件(6.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288805 bytes omitted>

答案文件(6.out

99793 101989
测试点 #7
Time Limit Exceeded
得分:0
用时:1015 ms
内存:6336 KiB

输入文件(7.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288805 bytes omitted>

答案文件(7.out

99439 102575
测试点 #8
Time Limit Exceeded
得分:0
用时:1051 ms
内存:6720 KiB

输入文件(8.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288805 bytes omitted>

答案文件(8.out

99526 103431
测试点 #9
Time Limit Exceeded
得分:0
用时:1050 ms
内存:6908 KiB

输入文件(9.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288805 bytes omitted>

答案文件(9.out

98873 107693
测试点 #10
Time Limit Exceeded
得分:0
用时:1008 ms
内存:6816 KiB

输入文件(10.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288805 bytes omitted>

答案文件(10.out

99404 103262
测试点 #11
Time Limit Exceeded
得分:0
用时:1011 ms
内存:10876 KiB

输入文件(11.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288805 bytes omitted>

答案文件(11.out

89805 90017
测试点 #12
Time Limit Exceeded
得分:0
用时:1053 ms
内存:10948 KiB

输入文件(12.in

200000
1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3
<1288805 bytes omitted>

答案文件(12.out

89614 90080
测试点 #13
Time Limit Exceeded
得分:0
用时:1012 ms
内存:10896 KiB

输入文件(13.in

200000
1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3
<1288805 bytes omitted>

答案文件(13.out

89785 90028
测试点 #14
Time Limit Exceeded
得分:0
用时:1005 ms
内存:10948 KiB

输入文件(14.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 30 31 32 34 35 36 37
<1288805 bytes omitted>

答案文件(14.out

89789 90119
测试点 #15
Time Limit Exceeded
得分:0
用时:1052 ms
内存:10876 KiB

输入文件(15.in

200000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<1288805 bytes omitted>

答案文件(15.out

89563 90067
测试点 #16
Time Limit Exceeded
得分:0
用时:1003 ms
内存:10748 KiB

输入文件(16.in

200000
1 2 4 5 7 8 9 12 13 14 16 18 19 21 22 23 25 27 29 30 33 35 38 40 41 42 43 44 47 50 51 52 53 
<1288805 bytes omitted>

答案文件(16.out

49769 50000
测试点 #17
Time Limit Exceeded
得分:0
用时:1009 ms
内存:10928 KiB

输入文件(17.in

200000
1 4 5 9 10 11 13 14 15 16 20 21 25 26 28 31 32 33 35 36 37 38 39 40 41 42 45 46 47 56 58 59 
<1288805 bytes omitted>

答案文件(17.out

49733 50034
测试点 #18
Time Limit Exceeded
得分:0
用时:1028 ms
内存:10884 KiB

输入文件(18.in

200000
1 4 5 6 7 9 10 11 16 19 20 21 22 23 29 33 38 40 41 42 43 44 49 50 51 52 54 55 57 60 61 63 64
<1288805 bytes omitted>

答案文件(18.out

49924 50004
测试点 #19
Time Limit Exceeded
得分:0
用时:1006 ms
内存:10820 KiB

输入文件(19.in

200000
3 4 9 11 13 14 15 18 20 22 23 24 25 27 30 32 34 37 40 43 44 47 48 49 50 51 60 62 63 65 67 69
<1288805 bytes omitted>

答案文件(19.out

49925 50006
测试点 #20
Time Limit Exceeded
得分:0
用时:1006 ms
内存:10876 KiB

输入文件(20.in

200000
3 5 6 7 8 9 10 12 13 15 16 17 19 20 21 23 25 27 29 31 32 35 36 37 40 41 42 43 45 49 50 51 54
<1288805 bytes omitted>

答案文件(20.out

49740 50006