Submission #483412

# Submission time Handle Problem Language Result Execution time Memory
483412 2021-10-29T09:12:17 Z zwicky Rabbit Carrot (LMIO19_triusis) C++14
0 / 100
1 ms 204 KB
#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 time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Incorrect 0 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Incorrect 0 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Incorrect 0 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Incorrect 0 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -