ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#201188 | #3482. sortable | pipibob | 100 | 60ms | 1768kb | C++ | 1.4kb | 2024-01-21 10:09:19 | 2024-01-21 12:05:56 |
answer
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
using namespace std;
int read()
{
int x = 0, f = 1;
char ch = getchar();
while(ch < '0' || ch > '9')
{
if(ch == '-')
f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9')
{
x = (x << 3) + (x << 1) + (ch ^ 48);
ch = getchar();
}
return x * f;
}
queue <int> a, b;
stack <int> s;
int q, n, x, target, vis[100050];
bool f;
int main()
{
#ifndef ONLINE_JUDGE
// freopen("输入.in","r",stdin);
// freopen("输出.out","w",stdout);
#endif
q = read();
while(q--)
{
while(a.size())
a.pop();
while(b.size())
b.pop();
while(s.size())
s.pop();
n = read();
target = 1, f = true;
for(int i = 1 ; i <= n ; i++)
x = read(), a.push(x), vis[x] = 1;
while(a.size() || s.size())
{
if(vis[target] == 1)
{
while(target != a.front())
vis[a.front()] = 2, s.push(a.front()), a.pop();
s.push(a.front()), a.pop(), vis[s.top()] = 3, b.push(s.top()), s.pop(), target++;
}
else if(vis[target] == 2)
if(target != s.top())
{
f = false;
break;
}
else
vis[s.top()] = 3, b.push(s.top()), s.pop(), target++;
}
if(f)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1176kb
input:
10 10 4 2 1 3 8 7 6 5 9 10 10 3 7 6 4 8 10 5 9 2 1 10 1 3 2 4 8 5 7 6 10 9 10 8 7 1 2 6 5 4 3 10 9 1...
output:
YES NO YES YES YES YES YES YES NO NO
result:
ok 10 lines
Test #2:
score: 10
Accepted
time: 0ms
memory: 1180kb
input:
10 10 10 6 4 8 1 3 9 5 2 7 10 2 1 3 9 8 7 4 5 6 10 10 1 9 6 2 3 7 4 8 10 5 10 3 1 2 5 4 6 10 8 7 9 1...
output:
NO YES NO YES YES YES YES YES YES YES
result:
ok 10 lines
Test #3:
score: 10
Accepted
time: 1ms
memory: 1176kb
input:
10 10 9 8 7 6 5 4 2 1 3 10 10 7 10 2 5 1 3 8 4 6 9 10 4 6 2 7 8 9 3 10 5 1 10 5 4 1 2 3 6 7 8 9 10 1...
output:
YES NO NO YES NO NO YES NO YES YES
result:
ok 10 lines
Test #4:
score: 10
Accepted
time: 8ms
memory: 1584kb
input:
10 55985 29565 29563 29562 29352 29346 29328 29326 29325 29324 29323 29320 29319 29314 29313 29312 2...
output:
YES NO YES YES YES YES YES NO YES NO
result:
ok 10 lines
Test #5:
score: 10
Accepted
time: 8ms
memory: 1548kb
input:
10 7763 3680 277 7608 5750 4337 7049 5804 3272 1940 4138 656 4368 3918 6305 3327 5872 4032 2233 5256...
output:
NO YES NO YES YES NO NO YES YES YES
result:
ok 10 lines
Test #6:
score: 10
Accepted
time: 9ms
memory: 1768kb
input:
10 71974 28234 36059 56781 31385 50663 31905 45178 38510 58367 71478 55134 3951 16243 44225 5711 699...
output:
NO YES NO NO NO YES YES YES NO NO
result:
ok 10 lines
Test #7:
score: 10
Accepted
time: 7ms
memory: 1592kb
input:
10 51542 1512 25827 42622 23126 27057 8283 46006 27813 21072 29589 10487 8260 37934 48675 27116 4708...
output:
NO NO YES YES YES NO NO NO YES NO
result:
ok 10 lines
Test #8:
score: 10
Accepted
time: 8ms
memory: 1688kb
input:
10 61442 27627 49016 59575 37948 60082 14313 44305 48280 31222 36746 30283 42328 23889 42782 25771 4...
output:
NO NO NO YES YES YES NO YES YES NO
result:
ok 10 lines
Test #9:
score: 10
Accepted
time: 11ms
memory: 1512kb
input:
10 17970 3118 3116 3114 3113 3108 3107 3106 2092 2091 2089 2088 2087 2085 2081 2080 2079 2077 2067 2...
output:
YES YES NO NO YES NO NO YES NO YES
result:
ok 10 lines
Test #10:
score: 10
Accepted
time: 8ms
memory: 1700kb
input:
10 64613 49144 62298 12440 25315 54016 17872 58100 38381 41434 10557 57214 23632 29057 62471 48206 2...
output:
NO YES NO NO NO YES NO NO NO YES
result:
ok 10 lines