Submission #137692

#TimeUsernameProblemLanguageResultExecution timeMemory
137692ekremLightning Rod (NOI18_lightningrod)C++98
100 / 100
596 ms77636 KiB
#include <bits/stdc++.h> #define st first #define nd second #define mp make_pair #define pb push_back #define coc g[mode][i] #define sol (k+k) #define sag (k+k+1) #define orta ((bas+son)>>1) #define mod 1000000007 #define inf 1000000009 #define N 10000005 using namespace std; typedef long long ll; typedef pair < int , int > ii; typedef pair < double , double > dd; int n, m, result; char ch; ii a, s[N]; int readInt(){ int res = 0; char ch = 0; while(ch < '0') ch = getchar_unlocked(); for(; ch >= '0'; ch = getchar_unlocked()) res = res * 10 + ch - '0'; return res; } void writeInt(int v){ char buf[14]; int p = 0; if(v == 0) buf[p++] = 0; for(; v; v /= 10) buf[p++] = v % 10; while(p--) putchar_unlocked(buf[p] + '0'); } int main(){ // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); n = readInt(); for(int i = 1; i <= n; i++){ a.st = readInt(); a.nd = readInt(); while(m and abs(s[m].st - a.st) <= a.nd - s[m].nd) m--; if(m and abs(s[m].st - a.st) <= s[m].nd - a.nd) continue; s[++m] = a; } writeInt(m); return 0; }
#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...