Submission #672961

#TimeUsernameProblemLanguageResultExecution timeMemory
672961vuavisaoLightning Rod (NOI18_lightningrod)C++14
66 / 100
1536 ms262144 KiB
#include<bits/stdc++.h> #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #define ll long long using namespace std; const ll N = 1e7 + 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 (stderr)

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 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...