Submission #672960

# Submission time Handle Problem Language Result Execution time Memory
672960 2022-12-19T08:04:45 Z vuavisao Lightning Rod (NOI18_lightningrod) C++14
66 / 100
42 ms 9832 KB
#include<bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#define ll long long
using namespace std;

const ll N = 2e5 + 10;
const ll INF = 1e18;

struct Point {
    ll x = 0, y = 0;
    Point() {};
    Point(ll _x, ll _y) { x = _x; y = _y; };
};

ll n;
Point p[N];

ll pred[N], suf[N];
ll res;

int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    if (fopen("NOI18_lightningrod.inp", "r")) {
        freopen("NOI18_lightningrod.inp", "r", stdin);
        freopen("NOI18_lightningrod.out", "w", stdout);
    }
    cin >> n;
    for(ll i = 1; i <= n; ++ i) {
        ll x, y; cin >> x >> y;
        p[i] = Point(x + y, x - y);
    }
    pred[0] = - INF;
    for(ll i = 1; i <= n; ++ i) {
        pred[i] = max(pred[i - 1], p[i].x);
    }
    suf[n + 1] = INF;
    for(ll i = n; i >= 1; -- i) {
        suf[i] = min(suf[i + 1], p[i].y);
    }
    for(int i = 1; i <= n; ++ i) {
        bool have_left = (pred[i] > pred[i - 1]);
        bool have_right = (suf[i] < suf[i + 1]);
        res += (have_left & have_right);
    }
    cout << res;
    return 0;
}

/// Code by vuavisao

Compilation message

lightningrod.cpp: In function 'int32_t main()':
lightningrod.cpp:27:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   27 |         freopen("NOI18_lightningrod.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lightningrod.cpp:28:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   28 |         freopen("NOI18_lightningrod.out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Runtime error 31 ms 9036 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 3412 KB Output is correct
2 Correct 2 ms 3412 KB Output is correct
3 Correct 2 ms 3412 KB Output is correct
4 Correct 2 ms 3456 KB Output is correct
5 Correct 2 ms 3452 KB Output is correct
6 Correct 2 ms 3456 KB Output is correct
7 Correct 2 ms 3540 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 3412 KB Output is correct
2 Correct 2 ms 3412 KB Output is correct
3 Correct 2 ms 3412 KB Output is correct
4 Correct 2 ms 3456 KB Output is correct
5 Correct 2 ms 3452 KB Output is correct
6 Correct 2 ms 3456 KB Output is correct
7 Correct 2 ms 3540 KB Output is correct
8 Correct 2 ms 3412 KB Output is correct
9 Correct 2 ms 3456 KB Output is correct
10 Correct 2 ms 3456 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 3412 KB Output is correct
2 Correct 2 ms 3412 KB Output is correct
3 Correct 2 ms 3412 KB Output is correct
4 Correct 2 ms 3456 KB Output is correct
5 Correct 2 ms 3452 KB Output is correct
6 Correct 2 ms 3456 KB Output is correct
7 Correct 2 ms 3540 KB Output is correct
8 Correct 2 ms 3412 KB Output is correct
9 Correct 2 ms 3456 KB Output is correct
10 Correct 2 ms 3456 KB Output is correct
11 Correct 2 ms 3540 KB Output is correct
12 Correct 2 ms 3540 KB Output is correct
13 Correct 3 ms 3476 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 3412 KB Output is correct
2 Correct 2 ms 3412 KB Output is correct
3 Correct 2 ms 3412 KB Output is correct
4 Correct 2 ms 3456 KB Output is correct
5 Correct 2 ms 3452 KB Output is correct
6 Correct 2 ms 3456 KB Output is correct
7 Correct 2 ms 3540 KB Output is correct
8 Correct 2 ms 3412 KB Output is correct
9 Correct 2 ms 3456 KB Output is correct
10 Correct 2 ms 3456 KB Output is correct
11 Correct 2 ms 3540 KB Output is correct
12 Correct 2 ms 3540 KB Output is correct
13 Correct 3 ms 3476 KB Output is correct
14 Correct 37 ms 9828 KB Output is correct
15 Correct 39 ms 9832 KB Output is correct
16 Correct 42 ms 8944 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 39 ms 8420 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 31 ms 9036 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -