Submission #373835

#TimeUsernameProblemLanguageResultExecution timeMemory
373835guka415Lightning Rod (NOI18_lightningrod)C++14
66 / 100
2095 ms156532 KiB
#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <algorithm>

using namespace std;
typedef pair<int, int> pii;

const int sz = 1e7 + 5;
int n;
pii p[sz];
int mxx[sz], mny[sz];

int main() {
	int xp, yp, ret = 0, mx = -2e9;
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf("%d %d", &xp, &yp);
		p[i] = { xp + yp,xp - yp };
	}
	mxx[0] = p[0].first;
	for (int i = 1; i < n; i++)
		mxx[i] = max(mxx[i - 1], p[i].first);
	mny[n - 1] = p[n - 1].second;
	for (int i = n - 2; i >= 0; i--)
		mny[i] = min(mny[i + 1], p[i].second);
	for (int i = 0; i < n; i++) {
		bool yes = 1;
		if (i && mxx[i - 1] >= p[i].first)
			yes = 0;
		if (i != n - 1 && mny[i + 1] <= p[i].second)
			yes = 0;
		ret += yes;
	}
	printf("%d", ret);
	return 0;
}

Compilation message (stderr)

lightningrod.cpp: In function 'int main()':
lightningrod.cpp:15:23: warning: unused variable 'mx' [-Wunused-variable]
   15 |  int xp, yp, ret = 0, mx = -2e9;
      |                       ^~
lightningrod.cpp:16:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   16 |  scanf("%d", &n);
      |  ~~~~~^~~~~~~~~~
lightningrod.cpp:18:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   18 |   scanf("%d %d", &xp, &yp);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~
#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...