[백준/C++] 3020번: 개똥벌레

-inn·2022년 1월 10일
0

백준

목록 보기
4/28
post-thumbnail

방법

코드

#include<bits/stdc++.h>
#define MAXN 2000001
#define MAXH 5000001
using namespace std;

int n, h, d, mincnt, minans;
int cnt[MAXH];

int main() {
	scanf("%d %d", &n, &h);
	for (int i = 0; i < n; i++) {
		scanf("%d", &d);
		if (i % 2 == 0) {
			cnt[0]++;	// h = 0에서 시작
			cnt[d]--;	// d-1까지의 길이
		}
		else {
			cnt[h - d]++;	// h-d부터 천장까지
		}
	}

	minans = MAXN;
	int temp = 0;
	for (int i = 0; i < h; i++) {
		temp += cnt[i];
		if (temp < minans) {
			minans = temp;
			mincnt = 1;
		}
		else if (temp == minans) {
			mincnt++;
		}
	}
	printf("%d %d\n", minans, mincnt);

	return 0;
}
profile
☁️

0개의 댓글