/ SeriousOJ /

Record Detail

Runtime Error


  
# Status Time Cost Memory Cost
#1 Runtime Error 1ms 564.0 KiB
#2 Runtime Error 3ms 540.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define endl '\n'

long long toNum(string s){
    long long num = 0;
    for(int i = 0 ; i < s.size() ; i++){
        num = (num * 10) + (s[i] - '0');
    }
    return num;
}

void print(deque<int> ddq){
    while(!ddq.empty()){
        cout << ddq.front() << " ";
        ddq.pop_front();
    }
    cout << endl;
}

void solve(){
    int n;
    cin >> n;
    int l = 0, r = n - 1;
    vector<int> v(n);
    deque<int> dq;
    for(int i = 0 ; i < n ;i++){
        cin >> v[i];
    }
    int tmp = n;
    while(n--){
        if(l == 0 && r == n-1){
            if(v[l] >= v[r]){
                dq.push_back(v[l++]);
            }else{
                dq.push_back(v[r--]);
            }
            //print(dq);
        }else{
            int left = v[l], right = v[r];
            if((right > dq.front() && right < dq.back()) && (left > dq.front() && left < dq.back())){
                cout << "NO\n";
                return;
            }else if(left <= dq.front() && right <= dq.front()){
                if(left >= right){
                    dq.push_front(left);
                    l++;
                }else{
                    dq.push_front(right);
                    r--;
                }
            }else if(left >= dq.front() && right >= dq.front()){
                if(left <= right){
                    dq.push_front(left);
                    l++;
                }else{
                    dq.push_front(right);
                    r--;
                }
            }else if(left <= dq.front())    dq.push_front(v[l++]);
            else if(left >= dq.back())  dq.push_back(v[l++]);
            else if(right <= dq.front())    dq.push_front(v[r--]);
            else if(right >= dq.back())  dq.push_back(v[r--]);
            else{
                cout << "NO\n";
                return;
            }
            //print(dq);
        }
    }
    cout << "YES\n";
}

int main(){
    ios_base::sync_with_stdio(0), cin.tie(0);
    int t = 1;
    cin >> t;
    while(t--){
        solve();
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1229 Array of Beauty
Contest
LUCC Presents Kick & Code Intra LU Programming Contest
Language
C++17 (G++ 13.2.0)
Submit At
2025-09-01 06:25:56
Judged At
2025-09-01 06:25:56
Judged By
Score
0
Total Time
3ms
Peak Memory
564.0 KiB