제출 #219595

#제출 시각아이디문제언어결과실행 시간메모리
219595GioChkhaidzeLightning Rod (NOI18_lightningrod)C++14
100 / 100
778 ms236936 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=1e7+7;
bool f[N];
int n,x,y,X[N],Y[N],st[N],sts;

int getn() {
	char ch = getchar_unlocked();
    int ans = 0;
    while(!isdigit(ch)) {
        ch = getchar_unlocked();
    }
    while(isdigit(ch)) {
        ans = ans * 10 + ch - '0';
        ch = getchar_unlocked();
    }
    return ans;
}
 
main () {
	n=getn();
	for (int i=1; i<=n; i++) {
		x=getn();
		y=getn();
		X[i]=x-y;
		Y[i]=x+y;
	}
	
	for (int i=1; i<=n; i++) {
		if (sts) {
			while (sts && X[st[sts]]>=X[i]) {
				f[st[sts]]=1;
				--sts;
			}
		}
		st[++sts]=i;
	}

	sts=0;
	
	for (int i=n; i>=1; i--) {
		if (f[i]) continue;
		if (sts) {
			while (sts && Y[st[sts]]<=Y[i]) {
				--sts;
			}
		}
		st[++sts]=i;
	}
	cout<<sts;
}

컴파일 시 표준 에러 (stderr) 메시지

lightningrod.cpp:20:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main () {
       ^
#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...