/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 336.0 KiB
#2 Accepted 2ms 328.0 KiB
#3 Accepted 2ms 324.0 KiB
#4 Accepted 2ms 332.0 KiB
#5 Accepted 2ms 496.0 KiB
#6 Wrong Answer 2ms 352.0 KiB
#7 Accepted 2ms 492.0 KiB
#8 Wrong Answer 2ms 540.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
#define pb push_back
#define mod 1000000007
#define srt(v) sort(v.begin(),v.end())
#define rsrt(v) sort(v.rbegin(),v.rend())
#define OPTIMIZE_IO ios::sync_with_stdio(false); cin.tie(nullptr);

int min_seg(vector<int> &arr){
    int n = arr.size();
    int left = 0, right = n - 1;

    while (left < n - 1 && arr[left] <= arr[left + 1]) {
        left++;
    }
    if (left == n - 1) return 0; 

    while (right > 0 && arr[right - 1] <= arr[right]) {
        right--;
    }
    
    int minVal = *min_element(arr.begin() + left, arr.begin() + right + 1);
    int maxVal = *max_element(arr.begin() + left, arr.begin() + right + 1);

    while (left > 0 && arr[left - 1] > minVal) left--;
    while (right < n - 1 && arr[right + 1] < maxVal) right++;

    return right - left + 1;
}
void solve() {
    int n,k;
    cin>>n>>k;
    vector<int> arr(n);
    for(int i=0; i<n; i++)cin>>arr[i];

    if(min_seg(arr)>k){
        cout<<"NO"<<endl;
    }
    else{
        cout<<"YES"<<endl;
        int pos1=0,pos2=0;
        for(int i=0; i<n-1; i++){
            if(arr[i]>arr[i+1]){
                pos1=i+1;
                pos2=i+1+(k-1);
                break;
            }
        }
        cout<<pos1<<" "<<pos2<<endl;

    }



}

int main() {
    OPTIMIZE_IO;
    int t=1;
  
    while (t--) {
        solve();
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1120 Stairway to the Skyline
Contest
Brain Booster #7
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-05 15:30:46
Judged At
2024-11-11 02:30:35
Judged By
Score
15
Total Time
2ms
Peak Memory
540.0 KiB