[ 문제 ]
[ 접근방법 ]
DP를 활용한다.
[ 소스코드 ]
#include <iostream>
#include <algorithm>
using namespace std;
int n, dtmax[2][3], dtmin[2][3], a, b, c;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
while(n--){
cin >> a >> b >> c;
dtmax[1][0] = max(dtmax[0][0], dtmax[0][1]) + a;
dtmax[1][1] = max(max(dtmax[0][0], dtmax[0][1]), dtmax[0][2]) + b;
dtmax[1][2] = max(dtmax[0][1], dtmax[0][2]) + c;
for(int i = 0; i < 3; i++)dtmax[0][i] = dtmax[1][i];
dtmin[1][0] = min(dtmin[0][0], dtmin[0][1]) + a;
dtmin[1][1] = min(min(dtmin[0][0], dtmin[0][1]), dtmin[0][2]) + b;
dtmin[1][2] = min(dtmin[0][1], dtmin[0][2]) + c;
for(int i = 0; i < 3; i++)dtmin[0][i] = dtmin[1][i];
}
cout << max(max(dtmax[0][0], dtmax[0][1]), dtmax[0][2])
<< " " << min(min(dtmin[0][0], dtmin[0][1]), dtmin[0][2]);
return 0;
}
'PS' 카테고리의 다른 글
[ 백준 / C++ ] 12851 : 숨바꼭질 2 (0) | 2024.08.26 |
---|---|
[ 백준 / C++ ] 17070 : 파이프 옮기기 1 (0) | 2024.08.21 |
[ 백준 / C++ ] 9019 : DSLR (0) | 2024.08.16 |
[ 백준 / C++ ] 6064 : 카잉 달력 (0) | 2024.08.14 |
[ 백준 / C++ ] 5525 : IOIOI (0) | 2024.08.13 |