結果
問題 |
No.472 平均順位
|
ユーザー |
![]() |
提出日時 | 2020-06-05 01:44:52 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 781 bytes |
コンパイル時間 | 1,515 ms |
コンパイル使用メモリ | 162,264 KB |
実行使用メモリ | 589,824 KB |
最終ジャッジ日時 | 2024-12-01 00:02:44 |
合計ジャッジ時間 | 5,954 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 13 MLE * 3 |
ソースコード
/** * @FileName a.cpp * @Author kanpurin * @Created 2020.06.05 01:44:48 **/ #include "bits/stdc++.h" using namespace std; typedef long long ll; int main() { int n,p;cin >> n >> p; vector<vector<double>> dp(n+1,vector<double>(p+1,0)); dp[0][0] = 0; for (int i = 0; i < n; i++) { int a,b,c;cin >> a >> b >> c; for (int j = 0; j <= p; j++) { dp[i + 1][j] = (dp[i][j] * i + a) / (i + 1); if (j - 1 >= 0) dp[i + 1][j] = min(dp[i + 1][j],(dp[i][j-1] * i + b) / (i + 1)); if (j - 2 >= 0) dp[i + 1][j] = min(dp[i + 1][j],(dp[i][j-2] * i + c) / (i + 1)); if (j - 3 >= 0) dp[i + 1][j] = min(dp[i + 1][j],(dp[i][j-3] * i + 1) / (i + 1)); } } printf("%.10f",dp[n][p]); return 0; }