제출 #1268263

#제출 시각아이디문제언어결과실행 시간메모리
1268263julia_08Advertisement 2 (JOI23_ho_t2)C++20
23 / 100
13 ms436 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...