| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1311722 | samarthkulkarni | Lightning Rod (NOI18_lightningrod) | C++17 | 1098 ms | 114084 KiB |
#include <bits/stdc++.h>
using namespace std;
#pragma GCC target ("avx2")
#pragma GCC optimize ("O3")
#pragma GCC optimize ("unroll-loops")
#pragma GCC optimize("fast-math")
using ll = int;
#define vi vector<long long>
#define all(x) x.begin(), x.end()
#define endl "\n"
#define pr pair<ll, ll>
#define ff first
#define ss second
void solution();
int main(){
solution();
return 0;
}
const int N = 1e7;
pr a[N];
ll avl[N];
inline bool isValid(int i, int j) {
return abs(a[i].ff-a[j].ff) <= a[j].ss-a[i].ss;
}
void solution() {
ll n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i].ff);
scanf("%d", &a[i].ss);
}
int p = -1;
for (int i = 0; i < n; i++) {
if (p == -1) avl[++p] = i;
else {
if (isValid(i, avl[p])) continue;
while (p >= 0 && isValid(avl[p], i)) p--;
avl[++p] = i;
}
}
printf("%d\n", p+1);
}
Compilation message (stderr)
| # | 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... | ||||
