Submission #313318

#TimeUsernameProblemLanguageResultExecution timeMemory
313318kaplanbarLightning Rod (NOI18_lightningrod)C++14
100 / 100
591 ms157176 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int readInt() {
    int x=0;
    char ch=getchar_unlocked();
    bool s=1;
    while(ch<'0'||ch>'9'){if(ch=='-')s=0;ch=getchar_unlocked();}
    while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+ch-'0';ch=getchar_unlocked();}
    return s?x:-x;
}
int main() {
//    ios_base::sync_with_stdio(false);
//    cin.tie(0);
    int n;
    n = readInt();
    stack<int> s;
    int mx = -2e9;
    for(int i = 0; i < n; i++) {
      int x = readInt();
      int y = readInt();
      while(!s.empty() && s.top() <= y-x) {
        s.pop();
      }
      if(mx < y + x) s.push(y - x), mx = y + x;
    }
//    cout << s.size() << "\n";
    printf("%d", s.size());
    return 0;
}

Compilation message (stderr)

lightningrod.cpp: In function 'int main()':
lightningrod.cpp:28:14: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::stack<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
   28 |     printf("%d", s.size());
      |             ~^   ~~~~~~~~
      |              |         |
      |              int       std::stack<int>::size_type {aka long unsigned int}
      |             %ld
#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...