Submission #962457

# Submission time Handle Problem Language Result Execution time Memory
962457 2024-04-13T15:12:00 Z tvladm2009 Lightning Rod (NOI18_lightningrod) C++17
100 / 100
1420 ms 215884 KB
#include <iostream>
#include <complex>
#include <vector>
#include <string>
#include <algorithm>
#include <cstdio>
#include <numeric>
#include <cstring>
#include <ctime>
#include <cstdlib>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <list>
#include <cmath>
#include <bitset>
#include <cassert>
#include <queue>
#include <stack>
#include <deque>
#include <random>

using namespace std;
template<typename T1, typename T2> inline void chkmin(T1 &a, T2 b) {if (a > b) a = b;}
template<typename T1, typename T2> inline void chkmax(T1 &a, T2 b) {if (a < b) a = b;}
#define files(FILENAME) read(FILENAME); write(FILENAME)
#define read(FILENAME) freopen((FILENAME + ".in").c_str(), "r", stdin)
#define write(FILENAME) freopen((FILENAME + ".out").c_str(), "w", stdout)
#define all(c) (c).begin(), (c).end()
#define sz(c) (int)(c).size()
#define left left228
#define right right228
#define y1 y1228
#define mp make_pair
#define pb push_back
#define y2 y2228
#define rank rank228
using ll = long long;
using ld = long double; 
const string FILENAME = "input";

bool check(pair<int, int> a, pair<int, int> b) {
    return a.first <= b.first && a.second <= b.second;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    //read(FILENAME);
    int n;
    cin >> n;
    vector<pair<int, int>> stk;
    for (int i = 1; i <= n; i++) {
        int x, y;
        cin >> x >> y;
        pair<int, int> p = {-(x + y), x - y};
        if (stk.empty()) {
            stk.pb(p);
        } else {
            if (check(stk.back(), p)) {
                continue;
            }
            while (!stk.empty() && check(p, stk.back())) {
                stk.pop_back();
            }
            stk.push_back(p);
        }
    }
    cout << sz(stk) << '\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1201 ms 181696 KB Output is correct
2 Correct 1176 ms 210200 KB Output is correct
3 Correct 1166 ms 215884 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 600 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 600 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 1 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 600 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 1 ms 512 KB Output is correct
14 Correct 36 ms 3412 KB Output is correct
15 Correct 28 ms 3496 KB Output is correct
16 Correct 27 ms 3792 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1142 ms 109120 KB Output is correct
2 Correct 1219 ms 98708 KB Output is correct
3 Correct 1152 ms 114840 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1201 ms 181696 KB Output is correct
2 Correct 1176 ms 210200 KB Output is correct
3 Correct 1166 ms 215884 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 600 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 344 KB Output is correct
15 Correct 1 ms 348 KB Output is correct
16 Correct 1 ms 512 KB Output is correct
17 Correct 36 ms 3412 KB Output is correct
18 Correct 28 ms 3496 KB Output is correct
19 Correct 27 ms 3792 KB Output is correct
20 Correct 1142 ms 109120 KB Output is correct
21 Correct 1219 ms 98708 KB Output is correct
22 Correct 1152 ms 114840 KB Output is correct
23 Correct 1420 ms 88340 KB Output is correct
24 Correct 1314 ms 156512 KB Output is correct
25 Correct 1286 ms 140512 KB Output is correct