Algorithm/problem
백준 2096번 내려가기 C++
DingCoDing
2022. 4. 3. 14:42
반응형
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;
}
반응형