課題 1.8 2011年プログラム甲子園 予算 3番

<問題>


<入力>

<出力>

<入出力例>

入力例1

入力例2

2
8

1 5 2
2 6 1
2
9
1 5 2
2 6 1

出力例1

出力例2

2

1



#include <stdio.h>

int main(void) {
    int n, y, b, r, t;
    float max, gain; /* 元金1円がどうなるかを計算しよう */
    int bank;
    int i; /* ループ用 */

    scanf("%d", &n);
    scanf("%d", &y);
    max = 1; /* 暫定一位の元利 */

    for (i = 0; i < n; i++){
        scanf("%d %d %d", &b, &r, &t);
        if (t == 1) { /* 単利 */
            gain = 1 + (float)r/100 * y;
        }
        else {
            gain = 1;
            for (i = 0; i < y; i++) { /* 複利 */
                gain *= (1 + (float)r/100);
            }
        }

        /* 最大利益と銀行番号の更新 */
        if (gain > max) {
            max = gain;
            bank = b;
        }
    }

    printf("%d\n", bank);

    return 0;

}