close

#include <stdio.h>

int h[2000], w[2000], u[2000], l[2000];

int main()
{
    int T, n, t, i, j;
    while (scanf("%d", &T) != EOF)
        for (t = 1 ; t <= T ; ++ t) {
            scanf("%d", &n);
            for (i = 0 ; i < n ; ++ i)
                scanf("%d", &h[i]);
            for (i = 0 ; i < n ; ++ i)
                scanf("%d", &w[i]);

            int inc = 0, dec = 0;
            for (i = 0 ; i < n ; ++ i) {
                u[i] = l[i] = w[i];
                for (j = 0 ; j < i ; ++ j) {
                    if (h[j] < h[i] && u[i] < u[j] + w[i])
                        u[i] = u[j] + w[i];
                    if (h[j] > h[i] && l[i] < l[j] + w[i])
                        l[i] = l[j] + w[i];
                }
                if (inc < u[i]) inc = u[i];
                if (dec < l[i]) dec = l[i];
            }
            if (inc >= dec)
                printf("Case %d. Increasing (%d). Decreasing (%d).\n", t, inc, dec);
            else
                printf("Case %d. Decreasing (%d). Increasing (%d).\n", t, dec, inc);
        }
    return 0;
}

 

arrow
arrow
    文章標籤
    UVa C code
    全站熱搜
    創作者介紹
    創作者 蒼雨 的頭像
    蒼雨

    日常雜物間

    蒼雨 發表在 痞客邦 留言(0) 人氣()