반응형

https://www.acmicpc.net/problem/2096

 

2096번: 내려가기

첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다.

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;

int n, a,b,c, a2,b2,c2, maxx[3], minn[3];
int main() {

	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> a >> b >> c;
		a2 = a;
		b2 = b;
		c2 = c;

		a = a + max(maxx[0], maxx[1]);
		b = b + max({ maxx[0], maxx[1], maxx[2] });
		c = c + max(maxx[2], maxx[1]);

		maxx[0] = a;
		maxx[1] = b;
		maxx[2] = c;


		a2 = a2 + min(minn[0], minn[1]);
		b2 = b2 + min({ minn[0], minn[1], minn[2] });
		c2 = c2 + min(minn[2], minn[1]);

		minn[0] = a2;
		minn[1] = b2;
		minn[2] = c2;
	}

	cout << max({ maxx[0], maxx[1], maxx[2]}) << ' ' << min({minn[0],minn[1],minn[2]});


	return 0;
}
반응형

+ Recent posts