Problem 0216 : Cutting Down Water Bills

問題概要

日本語なので本文参照(http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0216&lang=jp

水道の使用量と料金表が与えられるとき、表に従って水道料金を求め、
水道料金と4280の差を求めよ。

解法

表にしたがって計算する。

ソースコード

int w;
int calc()
{
	int ret=1150;
	if(w<=10)return ret;
	ret+=min(10,w-10)*125;
	if(w<=20)return ret;
	ret+=min(10,w-20)*140;
	if(w<=30)return ret;
	ret+=(w-30)*160;
	return ret;
}
int main()
{
	while(scanf("%d",&w),w>=0)printf("%d\n",4280-calc());
	return 0;
}