제출 #1158886

#제출 시각아이디문제언어결과실행 시간메모리
1158886AlgorithmWarriorRabbit Carrot (LMIO19_triusis)C++20
100 / 100
59 ms2320 KiB
#include <bits/stdc++.h>

using namespace std;

int const MAX=2e5+5;
int n,m;
int v[MAX];

void read(){
    cin>>n>>m;
    int i;
    for(i=1;i<=n;++i)
        cin>>v[i];
    for(i=n;i>=0;--i)
        v[i]+=(n-i)*m;
}

void rev(int v[],int n){
    int st=0,dr=n;
    while(st<dr){
        swap(v[st],v[dr]);
        ++st;
        --dr;
    }
}

int lis(){
    vector<int>subset;
    int i;
    for(i=0;i<n;++i){
        auto it=upper_bound(subset.begin(),subset.end(),v[i]);
        if(it==subset.end())
            subset.push_back(v[i]);
        else{
            int pos=it-subset.begin();
            subset[pos]=v[i];
        }
    }
    return upper_bound(subset.begin(),subset.end(),v[n])-subset.begin();
}

int main()
{
    read();
    rev(v,n);
    cout<<n-lis();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...