제출 #104249

#제출 시각아이디문제언어결과실행 시간메모리
104249dupreezLightning Rod (NOI18_lightningrod)C++14
66 / 100
2068 ms116856 KiB
#include <iostream>
#include <algorithm>
#include <cstring>
#include <sstream>
#include <map>
#include <queue>
#include <vector>
#include <stack>
#define mk make_pair
#define pb push_back
using namespace std;
typedef long long int ll;
typedef pair<ll, ll> pos;
const ll MOD = 1000000007,N=10000010;
int n,mxv,st[N],sti;

void push(int v1) {
	st[sti] = v1;
	sti++;
}

void pop() {
	sti--;
}

int main() {
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) { 
		int v1, v2;
		scanf("%d%d", &v1,&v2);
		if (i == 1) {
			mxv = v1 + v2;
			push(v1 - v2);
		}
		else if (mxv < v1 + v2) {
			while (sti!=0 && st[sti-1] >= v1 - v2)pop();
			push(v1 - v2);
			mxv = v1 + v2;
		}
	}
	cout << sti << endl;
	return 0;
}

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

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