编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#27411 #1151. 把你挂在地灵殿门口当装饰品! Accepted 100 355 ms 2724 K C++ 17 (Clang) / 1.2 K Komeiji Koishi 2020-06-30 10:57:58
显示原始代码
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int t1, n, x, i, j, mn, mx, la, flag, hd[500010], a[500010], id[500010];
int main() {
    t1 = 1;
    while (t1--) {
        scanf("%d", &n);
        for (i = 1; i <= n; i++) {
            scanf("%d", &a[i]);
            id[a[i]] = i;
        }
        hd[1] = 1;
        for (i = 2; i <= n; i++) {
            if (id[i] > id[i - 1])
                hd[i] = hd[i - 1];
            else
                hd[i] = i;
        }
        mn = n + 1;
        mx = 0;
        la = 0;
        flag = 0;
        x = hd[n];
        if (hd[n] <= 1) {
            mn = min(mn, 0);
            mx = 0;
        }
        x = hd[n] - 1;
        // printf("%d %d %d\n",i,hd[n],la);
        if (x > la) {
            if (hd[x] <= 1 && id[1] > id[la]) {
                mn = min(mn, 0);
                mx = 0;
            }
        } else {
            mn = min(mn, 0);
            mx = 0;
        }
        for (i = 1; i <= n; i++) {
            if (a[i] < a[i - 1])
                break;
            if (i == n) {
                mn = min(mn, i);
                mx = i;
                continue;
            }
            for (j = a[i - 1] + 1; j < a[i]; j++) {
                if (id[j] < id[la]) {
                    flag = 1;
                    break;
                }
                la = j;
            }
            if (flag)
                break;
            if (a[i] == n) {
                mn = min(mn, i);
                mx = i;
                continue;
            }
            x = hd[n];
            if (hd[n] <= a[i] + 1) {
                mn = min(mn, i);
                mx = i;
                continue;
            }
            x = hd[n] - 1;
            // printf("%d %d %d\n",i,hd[n],la);
            if (x > la) {
                if (hd[x] <= a[i] + 1 && id[a[i] + 1] > id[la]) {
                    mn = min(mn, i);
                    mx = i;
                    continue;
                }
            } else {
                mn = min(mn, i);
                mx = i;
                continue;
            }
        }
        if (mn > mx)
            puts("-1 -1");
        else
            printf("%d %d\n", mn, mx);
    }
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:3 ms
内存:356 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
用时:4 ms
内存:252 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
内存:352 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
用时:3 ms
内存:236 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
内存:356 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
用时:19 ms
内存:2656 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
用时:19 ms
内存:2624 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
用时:19 ms
内存:2648 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
用时:28 ms
内存:2680 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
内存:2644 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
用时:25 ms
内存:2724 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
用时:20 ms
内存:2656 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
内存:2680 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
用时:32 ms
内存:2680 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
用时:25 ms
内存:2620 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
用时:19 ms
内存:2700 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
用时:20 ms
内存:2620 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
用时:26 ms
内存:2620 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
用时:19 ms
内存:2640 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
用时:26 ms
内存:2680 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