Submission #1204587

#TimeUsernameProblemLanguageResultExecution timeMemory
1204587rkgenaRabbit Carrot (LMIO19_triusis)C++20
100 / 100
17 ms4176 KiB
#include<bits/stdc++.h> #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define IOS ios::sync_with_stdio(0); cin.tie(0); #define lli long long int #define pb push_back #define all(x) x.begin(),x.end() #define rep(i,a,b) for(int i=a;i<=b;i++) #define repp(i,a,b) for(int i=a;i>=b;i--) #define vi vector<lli> #define vvi vector<vi> #define vpi vector<pair<lli,lli>> #define pi pair<lli,lli> #define msi multiset<lli> #define mspi multiset<pair<lli,lli>> #define mii map<lli,lli> #define mpi map<pair<lli,lli>,lli> #define si set<lli> #define spi set<pair<lli,lli>> #define qi queue<lli> #define pqi priority_queue<lli> #define pqimin priority_queue<lli,vi,greater<lli>> template<class T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; template<class T1, class T2> using ordered_map = tree<T1, T2, less<T1>, rb_tree_tag, tree_order_statistics_node_update>; void solve() { lli n,m; cin>>n>>m; vi a(n+1); a[0] = 0; rep(i,1,n){ cin>>a[i]; a[i] = m*(i) - a[i]; } vi dp; dp.pb(a[0]); rep(i,1,n){ if(a[i]<0)continue; lli indx = upper_bound(all(dp),a[i]) - dp.begin(); if(indx==dp.size()){ dp.pb(a[i]); } else{ dp[indx] = a[i]; } } // for(auto i: dp){ // cout<<i<<" "; // } // cout<<"\n"; lli ans = dp.size()-1; cout<<n-ans<<"\n"; } signed main() { IOS int t=1; // cin>>t; while(t--) solve(); 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...