Submission #1354167

#TimeUsernameProblemLanguageResultExecution timeMemory
1354167AtinaRRabbit Carrot (LMIO19_triusis)C++20
100 / 100
45 ms3508 KiB
#include <bits/stdc++.h>

using namespace std;
const int MAX=2*1e5+10;
const int INF=(1<<30);
int n,m;
int arr[MAX];

int main()
{
    cin>>n>>m;
    vector<int> v;
    for(int i=0; i<n; i++)
    {
        cin>>arr[i];
        int tmp=arr[i]-(i+1)*m;
        if(tmp<=0)v.push_back(tmp);
    }
    if(v.empty())
    {
        cout<<n<<endl;
        return 0;
    }
    int mxx=0;
    vector<int> lis;
    for(auto x:v)
    {
        x=-x;
        auto it=upper_bound(lis.begin(),lis.end(),x);
        if(it==lis.end())lis.push_back(x);
        else *it=x;
    }
    cout<<n-lis.size()<<endl;
    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...