Submission #422039

#TimeUsernameProblemLanguageResultExecution timeMemory
422039rqiRabbit Carrot (LMIO19_triusis)C++14
100 / 100
115 ms5848 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<ll> vl; #define pb push_back #define bk back() #define sz(x) (int)(x).size() const int mx = 200005; int N, M; ll a[mx]; int main(){ cin >> N >> M; for(int i = 1; i <= N; i++){ cin >> a[i]; } for(int i = 1; i <= N; i++){ a[i]-=ll(i)*ll(M); } vl dp = vl{0}; for(int i = 1; i <= N; i++){ if(a[i] > 0) continue; if(a[i] <= dp.bk){ dp.pb(a[i]); continue; } int lo = 0; int hi = sz(dp)-1; while(lo < hi){ int mid = (lo+hi)/2+1; if(dp[mid] >= a[i]){ lo = mid; } else{ hi = mid-1; } } dp[lo+1] = a[i]; } int ans = N-(sz(dp)-1); cout << ans << "\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...