Submission #828907

#TimeUsernameProblemLanguageResultExecution timeMemory
828907NK_Lightning Rod (NOI18_lightningrod)C++17
80 / 100
2084 ms262144 KiB
// Success consists of going from failure to failure without loss of enthusiasm #include <bits/stdc++.h> using namespace std; #define nl '\n' #define pb push_back #define mp make_pair #define f first #define s second #define sz(x) int(x.size()) template<class T> using V = vector<T>; using vi = V<int>; using ll = long long; using pi = pair<int, int>; using vpi = V<pi>; using vl = V<ll>; using db = double; const int INF = 1e9 + 10; int main() { cin.tie(0)->sync_with_stdio(0); int N; cin >> N; vi L(N), R(N); for(int i = 0; i < N; i++) { int x, y; cin >> x >> y; L[i] = x - y, R[i] = x + y; } vi ord(N); iota(begin(ord), end(ord), 0); sort(begin(ord), end(ord), [&](int x, int y) { if (L[x] == L[y]) return R[x] > R[y]; return L[x] < L[y]; }); int r = -INF, ans = 0; for(auto& i : ord) { // cout << i << " " << L[i] << " " << R[i] << endl; if (r < R[i]) ans++, r = R[i]; } cout << ans << nl; exit(0-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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...