Submission #1190438

#TimeUsernameProblemLanguageResultExecution timeMemory
1190438dzuizzLightning Rod (NOI18_lightningrod)C++20
100 / 100
230 ms76200 KiB
#include <bits/stdc++.h>
using namespace std;
constexpr int N=1e8;
inline int read(){
#define num (ch&15)
  char ch; int res;
  while(!isdigit(ch=getchar_unlocked()));
  for(res=num;isdigit(ch=getchar_unlocked());res=(res<<3)+(res<<1)+num);
#undef num
  return res;
}
int n,l[N],r[N],s=-1;
int main(){
  n=read();
  for(int i=0,x,y;i<n;++i){
    x=read(),y=read();
    while(s>=0&&x-y<=l[s]-r[s]) --s;
    if(s<0||x+y>l[s]+r[s]) l[++s]=x,r[s]=y;
  }
  printf("%d\n",++s);
  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...