This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
struct point
{
int x,y;
};
int n;
vector<point> vec;
int cnt = 0;
int main()
{
// ios_base::sync_with_stdio(0); cin.tie(0);
cin >> n;
stack<point> st;
for(int i=0;i<n;++i)
{
int a,b;
cin >> a >> b;
// cout << '\n';
if(!st.empty() && b > st.top().y && b-st.top().y >= abs(a-st.top().x))
{
// cout << "pop " << st.top().x << " " << st.top().y << '\n';
st.pop();
}
else if(!st.empty() && st.top().y > b && abs(st.top().x-a) <= st.top().y-b) continue;
if(st.empty() || abs(a-st.top().x) > st.top().x-a)
{
st.push({a,b});
// cout << "add " << a << " " << b << '\n';
}
}
cout << st.size();
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |