Submission #996662

#TimeUsernameProblemLanguageResultExecution timeMemory
996662vjudge1Rabbit Carrot (LMIO19_triusis)C++17
14 / 100
1 ms472 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long

ll n, m, a[200000], ans;

int main()
{
    cin >> n >> m;
    for (int i=0; i<n; i++)
    {
        cin >> a[i];
        a[i]-=(i+1)*m;
    }
    for (int i=0; i<n/2; i++)
    {
        a[i]+=a[n-1-i];
        a[n-1-i]=a[i]-a[n-1-i];
        a[i]-=a[n-1-i];
    }
    vector<ll> lis={LLONG_MIN};
    for (int i=0; i<n; i++)
    {
        if (a[i]>0)
        {
            continue;
        }
        if (a[i]>=lis[lis.size()-1])
        {
            lis.push_back(a[i]);
        }
        else
        {
            int l=0, r=lis.size()-1, mid;
            while (l<r)
            {
                mid=(l+r)/2;
                if (a[i]<=lis[mid])
                {
                    r=mid;
                }
                else
                {
                    l=mid+1;
                }
            }
            lis[l]=a[i];
        }
    }
    cout << n-(lis.size()-1) << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...