問題
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;
}
}