문제 : https://www.acmicpc.net/problem/18228


[알고리즘풀이]

펭귄의 위치 p를 기준으로 왼쪽에서 제일 작은 값, 오른쪽에서 제일 작은 값을 찾아 그 얼음들을 부수면 펭귄이 추락하게 된다. 즉, 단순 구현 문제다.

#include<iostream>
#include<algorithm>
using namespace std;

int N, n[200000] = {}, p, l_m=1000000001, r_m=1000000001;
int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> N;
	for (int i = 0; i < N; i++){
		cin >> n[i];
		if (n[i] == -1)
			p = i;
	}
	for (int i = 0; i < p; i++)
		l_m = min(l_m, n[i]);
	for (int i = p + 1; i < N; i++)
		r_m = min(r_m, n[i]);
	cout << l_m + r_m;
}

 

+ Recent posts