제출 #673795

#제출 시각아이디문제언어결과실행 시간메모리
673795sudheerays123Lightning Rod (NOI18_lightningrod)C++17
7 / 100
2082 ms262144 KiB
#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define ll long long int
const ll N = 100+5 , INF = 1e18 , MOD = 1e9+7;

bool inside(ll x1 , ll y1 , ll x2 , ll y2){
	return (abs(x2-x1) <= (y2-y1));
}

void solve(){

	ll n;
	cin >> n;

	vector<pair<ll,ll>> a(n+5);
	for(ll i = 1; i <= n; i++) cin >> a[i].first >> a[i].second;

	vector<ll> dp(n+5);

	dp[1] = 1;

	for(ll i = 1; i <= n; i++){
		dp[i] = dp[i-1]+1;
		bool allinside = true;
		for(ll j = i-1; j >= 1; j--){
			if(inside(a[i].first,a[i].second,a[j].first,a[j].second)){
				dp[i] = min(dp[i],dp[j]);
			}

			if(inside(a[j].first,a[j].second,a[i].first,a[i].second) && allinside){
				dp[i] = min(dp[i],dp[j-1]+1);
			}
			else allinside = false;
		}
	}

	cout << dp[n];
}

int main(){

	fast;

	ll tc = 1;
	// cin >> tc;
	while(tc--) 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...