编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#27409 | #1151. 把你挂在地灵殿门口当装饰品! | Compile Error | 0 | 0 ms | 0 K | C++ 17 (Clang) / 1.2 K | Komeiji Koishi | 2020-06-30 10:57:31 |
#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);
}
}
preview
编译信息
/sandbox/1/a.cpp:68:1: error: unknown type name 'preview'
preview
^
/sandbox/1/a.cpp:68:8: error: expected unqualified-id
preview
^
2 errors generated.