C - 節制 / AtCoderBeginnerContest#013

abc013.contest.atcoder.jp

#include <iostream>
using namespace std;

#define INF (1LL<<60)

void Solve(int n, int h)	{
	long long a, b, c, d, e, answer=INF;

	cin >> a >> b >> c >> d >> e;
	for (long long x=0; x<=n; ++x)	{
		long long y=(n-x)*e-h-b*x;
		(y > 0)? y=y/(d+e)+1 : y=0;
		if (0<=y && y<=n)   answer = (answer<a*x+c*y? answer : a*x+c*y);
	}
	cout << answer << endl;
}

int main(void)	{
	long long n, h;

	cin >> n >> h;
	Solve(n,h);
	return 0;
}

普通の食事をする回数を決め、質素な食事をする回数を求める。
その中の小さい値を出力。
~了~