Wrong Answer
Code
// Author : Kamonasish Roy (Bullet)
// Time : 2025-04-08 20:42:54
#include<bits/stdc++.h>
using namespace std;
const long long M=5e5,MOD=1e9+7;
typedef long long ll;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t=1;
cin>>t;
while(t--){
int n;
cin>>n;
vector<int>a(n);
deque<int>d;
for(int &i:a)cin>>i;
int l=0,r=n-1;
while(l<=r){
int mn=min(a[l],a[r]);
int mx=max(a[r],a[l]);
if(d.empty()){
d.push_back(a[l]);
l++;
}
else{
int f=d.front();
int p=d.back();
if(f>=mx){
d.push_front(mx);
if(a[r]==mx)r--;
else l++;
}
else if(p<=mn){
d.push_back(mn);
if(a[r]==mn)r--;
else l++;
}
else if(f>=a[l] or f>=a[r]){
if(f>=a[l]){
d.push_front(a[l]);
l++;
}
else{
d.push_front(a[r]);
r--;
}
}
else if(p<=a[l] or p<=a[r]){
if(p<=a[l]){
d.push_back(a[l]);
l++;
}
else{
d.push_back(a[r]);
r--;
}
}
else break;
}
}
vector<int>b;
while(!d.empty()){
b.push_back(d.front());
d.pop_front();
}
l=0,r=n-1;
while(l<=r){
int mn=min(a[l],a[r]);
int mx=max(a[r],a[l]);
if(d.empty()){
d.push_back(a[r]);
r--;
}
else{
int f=d.front();
int p=d.back();
if(f>=mx){
d.push_front(mx);
if(a[r]==mx)r--;
else l++;
}
else if(p<=mn){
d.push_back(mn);
if(a[r]==mn)r--;
else l++;
}
else if(f>=a[l] or f>=a[r]){
if(f>=a[l]){
d.push_front(a[l]);
l++;
}
else{
d.push_front(a[r]);
r--;
}
}
else if(p<=a[l] or p<=a[r]){
if(p<=a[l]){
d.push_back(a[l]);
l++;
}
else{
d.push_back(a[r]);
r--;
}
}
else break;
}
}
vector<int>c;
while(!d.empty()){
c.push_back(d.front());
d.pop_front();
}
sort(a.begin(),a.end());
cout<<(a==b or a==c ?"YES\n":"NO\n");
}
return 0;
}
Information
- Submit By
- Type
- Submission
- Problem
- P1229 Array of Beauty
- Language
- C++17 (G++ 13.2.0)
- Submit At
- 2025-09-02 22:27:12
- Judged At
- 2025-09-02 22:27:12
- Judged By
- Score
- 70
- Total Time
- 20ms
- Peak Memory
- 584.0 KiB