Submission #483412

#TimeUsernameProblemLanguageResultExecution timeMemory
483412zwickyRabbit Carrot (LMIO19_triusis)C++14
0 / 100
1 ms204 KiB
#include<bits/stdc++.h> #define ll long long #define pb push_back #define nl endl #define loop(i,a,b) for(ll i=a;i<b;i++) #define rloop(i,a,b) for(ll i=b;i>=a;i--) #define cy cout<<"YES"<<endl; #define cn cout<<"NO"<<endl; #define cm cout<<-1<<endl #define vl vector<ll> #define vchar vector<char> #define vvll vector<vector<ll>> #define vvcr vector<vchar> #define deb(x) cout<<#x<<" "<<x<<endl; #define all(x) (x).begin(), (x).end() #define sz(x) ((ll)(x).size()) using namespace std; const ll MOD=1e9+7; ll binepow(ll a,ll b,ll mod=-1){ if(b==0){ return 1ll; } if(mod!=-1){ ll k=binepow(a,b/2,mod); if(b%2==0){ return (k*k)%mod; } else{ return (((k*a)%mod)*k)%mod; } } else{ ll k=binepow(a,b/2,mod); if(b%2==0){ return (k*k); } else{ return k*k*a; } } } //////////////////////////////////////////////////////// void solve(){ ll n,m; cin>>n>>m; vl a(n); loop(i,0,n){ cin>>a[i]; } ll i=0; ll fin=0; while(true){ if(i==0){ if(a[i]>m){ a[i]=m; fin++; break; } else{ break; } } else{ if(a[i]>a[i-1]+m){ a[i]=a[i-1]+m; fin++; } else{ break; } } } vl len(n+1,-m); len[1]=a[0]; ll ans=1; loop(i,1,n){ ll lo=1,hi=n,k=1; while(lo<=hi){ ll mid=(lo+hi)/2; if(len[mid]+m>=a[i]){ lo=mid+1; k=max(mid+1,k); } else{ hi=mid-1; } } len[k]=max(len[k],a[i]); ans=max(ans,k); } cout<<fin+(n-ans)<<nl; return; } int main(){ ios::sync_with_stdio(0); cin.tie(0); //freopen(".in","r",stdin); //freopen(".out","w",stdout); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...