C - 節制 / AtCoderBeginnerContest#013
#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; }
普通の食事をする回数を決め、質素な食事をする回数を求める。
その中の小さい値を出力。
~了~