Submission #161429

#TimeUsernameProblemLanguageResultExecution timeMemory
161429BertedLightning Rod (NOI18_lightningrod)C++14
66 / 100
2070 ms172080 KiB
#include <iostream>
#include <stack>
#include <cstdio>
#define pii pair<int,int>
#define fst first
#define snd second
using namespace std;
stack<pii> s;
int n,a,b;
int main()
{
	scanf("%d",&n);
	for (int i=0;i<n;i++)
	{
		scanf("%d %d",&a,&b);
		if (s.empty()) {s.push({a,b});}
		else 
		{
			if (a - s.top().fst > s.top().snd - b)
			{
				while (s.size())
				{
					if (a - s.top().fst <= b - s.top().snd) {s.pop();}
					else {break;}
				}
				s.push({a,b});
			}
		}
		//cout<<i<<" "<<s.size()<<"\n";
	}
	printf("%d\n",(int)s.size());
	return 0;
}

Compilation message (stderr)

lightningrod.cpp: In function 'int main()':
lightningrod.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
lightningrod.cpp:15:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d",&a,&b);
   ~~~~~^~~~~~~~~~~~~~~
#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...