結果
問題 | No.1478 Simple Sugoroku |
ユーザー |
![]() |
提出日時 | 2021-03-02 16:02:32 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 771 bytes |
コンパイル時間 | 669 ms |
コンパイル使用メモリ | 60,020 KB |
最終ジャッジ日時 | 2025-01-19 09:21:40 |
ジャッジサーバーID (参考情報) |
judge2 / judge2 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp:3:10: fatal error: testlib.h: No such file or directory 3 | #include "testlib.h" | ^~~~~~~~~~~ compilation terminated.
ソースコード
#include <bits/stdc++.h> #include "testlib.h" using namespace std; int n, m; long double res = 1e18; long double cost; long long base; int main() { registerValidation(); int n = inf.readInt(1, 1000000000); inf.readSpace(); int m = inf.readInt(1, min(n, 100000)); inf.readEoln(); vector<int> b(m); int bef = 0; for(int i = 0; i < m; i++) { if(i) inf.readSpace(); b[i] = inf.readInt(bef + 1, n); bef = b[i]; } inf.readEoln(); inf.readEof(); if(m <= 1) { printf("%d\n", n - 1); return 0; } base += b.front() - 1 + n - b.back(); res = b.back() - b.front(); for(int i = m - 1; i >= 1; i--) { cost += b.back() - b[i]; res = min(res, cost / (m - i) + (long double)m / (m - i)); } cout << fixed << setprecision(6); cout << res + base << endl; }