結果
| 問題 | No.198 キャンディー・ボックス2 |
| コンテスト | |
| ユーザー |
airuai
|
| 提出日時 | 2016-09-18 20:29:10 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 859 bytes |
| コンパイル時間 | 601 ms |
| コンパイル使用メモリ | 72,740 KB |
| 実行使用メモリ | 7,716 KB |
| 最終ジャッジ日時 | 2025-11-26 11:39:59 |
| 合計ジャッジ時間 | 1,712 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 27 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:40:19: warning: ‘lv’ may be used uninitialized [-Wmaybe-uninitialized]
40 | if ((sa = (long long)lv * n - (sum + b)) > 0) {
| ^~~~~~~~~~~~~
main.cpp:26:13: note: ‘lv’ was declared here
26 | int lv, i;
| ^~
ソースコード
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::cin.tie(0);
std::ios::sync_with_stdio(false);
int b;
std::cin >> b;
int n;
std::cin >> n;
long long sum = 0;
std::vector<int> c;
int a;
for (int i = 0; i < n; ++i) {
std::cin >> a;
c.push_back(a);
sum += a;
}
std::sort(c.begin(), c.end());
if (n == 1) {
std::cout << "0" << std::endl;
return 0;
}
long long count = 0, t = 20000000000;
int lv, i;
for (i = 0; i < n; ++i, t = count, count = 0) {
for (int j = 0; j < n; ++j) {
count += abs(c[i] - c[j]);
}
if (count > t) {
lv = c[i-1];
break;
}
}
if (i == n) {
lv = c[n - 1];
}
long long sa;
if ((sa = (long long)lv * n - (sum + b)) > 0) {
lv -= sa / n;
lv -= ((sa % n) ? 1 : 0);
}
t = 0;
for (int i = 0; i < n; ++i) {
t += abs(lv - c[i]);
}
std::cout << t << std::endl;
}
airuai