Submission #710868

#TimeUsernameProblemLanguageResultExecution timeMemory
710868awuLightning Rod (NOI18_lightningrod)C++14
66 / 100
1371 ms262144 KiB
#include <bits/extc++.h>
using namespace std;

#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")

#define int long long
#define f first
#define s second
#define all(x) x.begin(), x.end()
#define debug(x) do{auto y = x; cout << #x << " = " << y << endl;}while(0)
// #define endl "\n"
#define unordered_map __gnu_pbds::gp_hash_table
using pii = pair<int, int>;

const int inf = 1ll << 60;
const int MOD = 1e9 + 7;

signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n; cin >> n;
  vector<pii> pts(n);
  for(int i = 0; i < n; i++) {
    int x, y; cin >> x >> y;
    pts[i] = {x, y};
  }
  vector<pii> stac;
  for(auto p : pts) {
#define sb stac.back()
    while(stac.size() && p.s - p.f >= sb.s - sb.f) {
      stac.pop_back();
    }
    if(!stac.size() || p.f + p.s > sb.f + sb.s) {
      stac.push_back(p);
    }
  }
  cout << stac.size() << endl;
}
#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...