結果
問題 |
No.472 平均順位
|
ユーザー |
![]() |
提出日時 | 2018-03-20 08:54:20 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 206 ms / 2,000 ms |
コード長 | 929 bytes |
コンパイル時間 | 1,331 ms |
コンパイル使用メモリ | 158,564 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 06:39:13 |
合計ジャッジ時間 | 3,083 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define INF 1.1e9 #define LINF 1.1e18 #define FOR(i,a,b) for (int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define ALL(v) (v).begin(),(v).end() #define pb push_back #define pf push_front #define fi first #define se second #define BIT(x,n) bitset<n>(x) #define PI 3.14159265358979323846 typedef long long ll; typedef pair<int,int> P; typedef pair<ll,P> PP; //----------------------------------------------------------------------------- int dp[2][15010]; int n,p; int main() { cin.tie(0); ios::sync_with_stdio(false); REP(i,2) REP(j,15010) dp[i][j]=INF; cin>>n>>p; dp[0][0]=0; FOR(i,0,n) { int a[4]; REP(j,3) cin>>a[j]; a[3]=1; REP(j,min(p,3*i)+1) { if(dp[i&1][j]!=INF) { REP(k,4) dp[(i+1)&1][j+k]=min(dp[(i+1)&1][j+k],dp[i&1][j]+a[k]); } } REP(j,15010) dp[i&1][j]=INF; } double ans=(double)dp[n&1][p]/n; printf("%.10f\n",ans); return 0; }