Submission #1221326

#TimeUsernameProblemLanguageResultExecution timeMemory
1221326sula2Advertisement 2 (JOI23_ho_t2)C++20
10 / 100
399 ms25604 KiB
#include <bits/stdc++.h>
#define all(a) (a).begin(), (a).end()
using namespace std;

int main() {
    int n; cin >> n;
    pair<int,int> a[n];
    // x[j] - x[i] <= e[i] - e[j]
    // x[j] + e[j] <= e[i] + x[i]
    //
    // x[i] - x[j] <= e[i] - e[j]
    // e[j] - x[j] <= e[i] - x[i]
    //
    // X[i] >= X[j]
    // Y[i] >= Y[j]
    for (auto& [x, y] : a) {
        int pos, inf; cin >> pos >> inf;
        x = inf + pos;
        y = inf - pos;
    }
    sort(a, a+n, greater<>());
    multiset<int> lis;
    for (auto [x, y] : a) {
        auto it = lis.lower_bound(y);
        if (it != lis.end())
            lis.erase(it);
        lis.insert(y);
    }
    cout << lis.size();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...