#include <bits/stdc++.h>
using namespace std;
const int MAXN = 20;
int x[MAXN], e[MAXN];
int marc[MAXN];
int main(){
cin.tie(0)->sync_with_stdio(0);
int n; cin >> n;
for(int i=0; i<n; i++) cin >> x[i] >> e[i];
int ans = n;
for(int mask=0; mask<(1 << n); mask++){
for(int i=0; i<n; i++) marc[i] = 0;
for(int i=0; i<n; i++){
if(mask & (1 << i)){
for(int j=0; j<n; j++){
if(abs(x[i] - x[j]) <= e[i] - e[j]){
marc[j] = 1;
}
}
}
}
int cnt = 0;
for(int i=0; i<n; i++) if(marc[i]) cnt ++;
if(cnt == n) ans = min(ans, __builtin_popcount(mask));
}
cout << ans << "\n";
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |