#include<bits/stdc++.h>
using namespace std;
using i64 = long long;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<pair<int,int>> a(n);
vector<int> mas(n);
assert(n <= 20);
for(int i = 0;i < n;i++){
int x,y;
cin >> x >> y;
a[i].first = x;
a[i].second = y;
}
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
if(a[i].second - a[j].second >= abs(a[i].first - a[j].first)){
mas[i] |= (1 << j);
}
}
}
int ans = n;
for(int mask = 0;mask < (1 << n);mask++){
int gmask = 0;
for(int j = 0;j < n;j++){
if((mask & (1 << j))){
gmask |= mas[j];
}
}
if(__builtin_popcount(gmask) == 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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |