제출 #1309536

#제출 시각아이디문제언어결과실행 시간메모리
1309536thecrazycandyLightning Rod (NOI18_lightningrod)C++20
100 / 100
647 ms117272 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast,unroll-loops,no-stack-protector,fast-math") #pragma GCC target("avx,avx2,fma") using namespace std; #define ll int #define sped_up ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define rall(v) (v).rbegin(), (v).rend() #define all(v) (v).begin(), (v).end() #define pb push_back #define S second #define F first const ll INF = (ll)1e9 + 1, INFL = (ll)1e9 + 1; const ll mod = (ll)1e9 + 7, MAXN = (ll)1e7 + 7; ll x[MAXN], y[MAXN], p[MAXN]; int main() { sped_up; ll n; cin >> n; string s; ll cnt = 0; ll sf = INF*2; p[0] = -INF*2; getline(cin, s); for (int i = 1; i <= n; i++) { bool ok = 0; getline(cin, s); for (int j = 0; j < s.size(); j++) { if (!('0' <= s[j] && s[j] <= '9')) { ok = 1; continue; } if (!ok) x[i] = x[i] * 10 + s[j] - '0'; else y[i] = y[i] * 10 + s[j] - '0'; } p[i] = max(p[i - 1], x[i] + y[i]); } for (int i = n; i >= 1; i--) { if (sf > x[i] - y[i] && x[i] + y[i] > p[i - 1]) cnt++; sf = min(sf, x[i] - y[i]); } cout << cnt; }
#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...