编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#27399 #1151. 把你挂在地灵殿门口当装饰品! Accepted 100 388 ms 3864 K C++ 17 (Clang) / 1.1 K Komeiji Koishi 2020-06-30 10:55:20
显示原始代码
#include <cstdio>
#include <algorithm>
using namespace std;
int t, _, n, i, ppos = 0, pre = 0, ppr[200005], l, r, ll, rr, a[200005], pos[200005], dp[200005], vis[200005],
                mid;
const int inf = 1e9;
bool chk(int u, int v) {
    int i, pre;
    pre = 0;
    for (i = u; i <= n; i++) {
        if (a[i] <= v)
            continue;
        if (a[i] < pre)
            return false;
        pre = a[i];
    }
    return true;
}
int main() {
    t = 1;
    for (_ = 1; _ <= t; _++) {
        scanf("%d", &n);
        for (i = 1; i <= n; i++) scanf("%d", &a[i]), pos[a[i]] = i, dp[i] = vis[i] = 0;
        vis[n + 1] = 0;
        vis[0] = 0;
        dp[0] = 0;
        dp[n + 1] = 0;
        for (i = n; i >= 0; i--) {
            if (vis[a[i] + 1])
                dp[a[i]] = 1 + dp[a[i] + 1];
            else
                dp[a[i]] = 1;
            vis[a[i]] = 1;
        }
        ppos = 0;
        pre = 0;
        ppr[0] = 0;
        for (l = 1; l <= n; l++) {
            // printf("%d %d\n",l,pre);
            if (a[l] < pre)
                goto tag;
            for (pre++; pre < a[l]; pre++) {
                if (pos[pre] < ppos)
                    goto tag;
                ppos = pos[pre];
            }
            ppr[l] = ppos;
        }
    tag:
        l--;
        ll = 0;
        rr = l + 1;
        while (ll < rr) {
            mid = (ll + rr) / 2;
            if (mid == l + 1) {
                rr = mid;
                continue;
            }
            if (chk(mid + 1, (ppr[mid] < pos[a[mid] + 1] ? a[mid] + dp[a[mid]] - 1 : a[mid])))
                rr = mid;
            else
                ll = mid + 1;
        }
        if (l < rr)
            printf("-1 -1\n");
        else {
            printf("%d %d\n", rr, l);
        }
    }
    return 0;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:3 ms
内存:396 KiB

输入文件(1.in

10
1 5 2 6 3 7 4 8 9 10 

答案文件(1.out

0 2

用户输出

0 2

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:3 ms
内存:356 KiB

输入文件(2.in

10
2 3 1 4 6 7 8 5 9 10 

答案文件(2.out

2 2

用户输出

2 2

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:3 ms
内存:264 KiB

输入文件(3.in

10
4 5 6 1 2 7 8 3 9 10 

答案文件(3.out

0 3

用户输出

0 3

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:2 ms
内存:356 KiB

输入文件(4.in

10
1 5 6 2 7 8 9 10 3 4 

答案文件(4.out

0 3

用户输出

0 3

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:3 ms
内存:352 KiB

输入文件(5.in

10
2 4 6 7 8 9 1 3 5 10 

答案文件(5.out

2 6

用户输出

2 6

系统信息

Exited with return code 0
测试点 #6
Accepted
得分:100
用时:20 ms
内存:3860 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

用户输出

99793 101989

系统信息

Exited with return code 0
测试点 #7
Accepted
得分:100
用时:24 ms
内存:3776 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

用户输出

99439 102575

系统信息

Exited with return code 0
测试点 #8
Accepted
得分:100
用时:20 ms
内存:3804 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

用户输出

99526 103431

系统信息

Exited with return code 0
测试点 #9
Accepted
得分:100
用时:20 ms
内存:3832 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

用户输出

98873 107693

系统信息

Exited with return code 0
测试点 #10
Accepted
得分:100
用时:20 ms
内存:3864 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

用户输出

99404 103262

系统信息

Exited with return code 0
测试点 #11
Accepted
得分:100
用时:23 ms
内存:3704 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

用户输出

89805 90017

系统信息

Exited with return code 0
测试点 #12
Accepted
得分:100
用时:29 ms
内存:3740 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

用户输出

89614 90080

系统信息

Exited with return code 0
测试点 #13
Accepted
得分:100
用时:22 ms
内存:3704 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

用户输出

89785 90028

系统信息

Exited with return code 0
测试点 #14
Accepted
得分:100
用时:23 ms
内存:3804 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

用户输出

89789 90119

系统信息

Exited with return code 0
测试点 #15
Accepted
得分:100
用时:23 ms
内存:3804 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

用户输出

89563 90067

系统信息

Exited with return code 0
测试点 #16
Accepted
得分:100
用时:37 ms
内存:3648 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

用户输出

49769 50000

系统信息

Exited with return code 0
测试点 #17
Accepted
得分:100
用时:31 ms
内存:3552 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

用户输出

49733 50034

系统信息

Exited with return code 0
测试点 #18
Accepted
得分:100
用时:24 ms
内存:3616 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

用户输出

49924 50004

系统信息

Exited with return code 0
测试点 #19
Accepted
得分:100
用时:26 ms
内存:3560 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

用户输出

49925 50006

系统信息

Exited with return code 0
测试点 #20
Accepted
得分:100
用时:32 ms
内存:3644 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

用户输出

49740 50006

系统信息

Exited with return code 0