はまやんはまやんはまやん

hamayanhamayan's blog

Function Height [ Educational Codeforces Round 50 (Rated for Div. 2) A]

http://codeforces.com/contest/1036/problem/A

0~2Nまでの2N+1個の頂点がある。
i番目の頂点について i%2=0ならば頂点(i,0)、i%2=1ならば頂点(i, A[i])とする。
このA[i]の値は自由に決められる。
0,1,2番目で作られる三角形、2,3,4番目で作られる三角形、4,5,6番目で…の面積を全て合わせてKにしたい。
A[i]の最大値の最小値を求めよ。

解法

http://codeforces.com/contest/1036/submission/42625446

どこかのA[i]を1増やすと面積が1だけ増える。
よって、KをN個に分けたときの最大値を最小化する問題となる。
高さを最低にしたいのだが、なるべく分散させるのが最適。
答えはN/Kの切り上げとなる。

ll N, K;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> K;

    ll ans = (N + K - 1) / N;
    cout << ans << endl;
}