問題
https://codeforces.com/contest/1353/problem/A (新しいタブで開く)
問題文
が与えられる。
長さ の非負整数の配列 であって、総和がちょうど であるもののうち、 の最大値は?
制約
サンプル
5 1 100 2 2 5 5 2 1000000000 1000000000 1000000000
0 2 10 1000000000 2000000000
考察
としていくのがよさそう。
余りが出たら適当に足せばいいので、とりあえず は実数を許容しておいて、 つまり としておけばよさそう。
一番最後は になってほしいので にしておいた。
このとき、 。なんかきれいにまとまった。
例外なのが のときは明らかに 、 のときは で 。
公式解説だと って書いてた。それでいいんかい
コード
https://codeforces.com/contest/1353/submission/127016953 (新しいタブで開く)
void solve() { ll n, m; cin >> n >> m; if (n == 1) { cout << 0 << endl; } else if (n == 2) { cout << m << endl; } else { cout << 2 * m << endl; } }