페이지

2096번: 내려가기

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


#include<stdio.h>
int n, max[100001][3], min[100001][3], x, y, z, a1, b1, c1, d1, e1, f1, a2, b2, c2, d2, e2, f2;
int maxf(int d, int e)
{
    if (d>e)
    {
        return d;
    }
    else return e;
}
int minf(int d, int e)
{
    if (d<e)
    {
        return d;
    }
    else return e;
}
int main()
{
    int i;
    scanf("%d%d%d%d", &n, &a1, &b1, &c1);
    a2 = a1;
    b2 = b1;
    c2 = c1;
    for (i = 2; i <= n; i++)
    {
        scanf("%d%d%d", &x, &y, &z);
        d1 = x + maxf(a1, b1);
        e1 = y + maxf(maxf(a1, b1), c1);
        f1 = z + maxf(b1, c1);
        a1 = d1;
        b1 = e1;
        c1 = f1;
        d2 = x + minf(a2, b2);
        e2 = y + minf(minf(a2, b2), c2);
        f2 = z + minf(b2, c2);
        a2 = d2;
        b2 = e2;
        c2 = f2;
    }
    printf("%d %d", maxf(maxf(a1, b1), c1), minf(minf(a2, b2), c2));
    return 0;
}

댓글 없음 :

댓글 쓰기