AOJ 1135 - Ohgas' Fortune

10分かかった.単利・複利は苦手です.

#include<iostream>

int first, year, n, type, every;
double rate;

int calculate(){
	int a = first, b = 0;
	if(type == 0){
		for(int i=0;i<year;i++){
			b += a * rate;
			a -= every;
		}
		return a + b;
	}
	for(int i=0;i<year;i++){
		a += a * rate - every;
	}
	return a;
}

int main(){
	int m;
	std::cin >> m;
	while(m--){
		std::cin >> first >> year >> n;
		int res = 0;
		for(int i=0;i<n;i++){
			std::cin >> type >> rate >> every;
			res = std::max(res, calculate());
		}

		std::cout << res << std::endl;
	}
}