結果
| 問題 |
No.1808 Fullgold Alchemist
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-01-14 23:19:03 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 767 bytes |
| コンパイル時間 | 781 ms |
| コンパイル使用メモリ | 77,228 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-11-20 14:27:04 |
| 合計ジャッジ時間 | 3,673 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 WA * 23 |
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:40:13: warning: 'nmin' may be used uninitialized [-Wmaybe-uninitialized]
40 | x += nmin / m;
| ~~~~~^~~
main.cpp:7:18: note: 'nmin' was declared here
7 | int stock = 0, nmin;
| ^~~~
main.cpp:40:5: warning: 'x' may be used uninitialized [-Wmaybe-uninitialized]
40 | x += nmin / m;
| ~~^~~~~~~~~~~
main.cpp:6:7: note: 'x' was declared here
6 | int x;
| ^
ソースコード
#include<iostream>
int main() {
int n, m;
std::cin >> n >> m;
int x;
int stock = 0, nmin;
for(int i = 0; i < n; ++i) {
int a;
std::cin >> a;
int w = a / (m * (n - i));
a %= m * (n - i);
if(i == 0) {
x = w;
nmin = a;
} else {
if(w * m < nmin) {
nmin -= w * m;
x += w;
} else if(w * m >= nmin) {
x += nmin / m;
goto end;
}
if(a < nmin) {
while(nmin - a > stock) {
if(nmin == 0) {
goto end;
} else {
--nmin;
stock += i;
}
}
stock -= nmin - a;
a += nmin - a;
} else {
stock += a - nmin;
}
}
}
x += nmin / m;
end:
std::cout << x << '\n';
}