제출 #1267703

#제출 시각아이디문제언어결과실행 시간메모리
1267703SofiatpcLet's Win the Election (JOI22_ho_t3)C++20
11 / 100
82 ms328 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define sc second const int MAXN = 505; const double INF = 1e6; pair<double, double> v[MAXN]; // b a double dp[2][MAXN]; signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n,k; cin>>n>>k; for(int i = 1; i <= n; i++)cin>>v[i].sc>>v[i].fi; sort(v+1,v+1+n); double ans = INF; for(int ini = 0; ini <= k; ini++){ for(int x = 1; x <= ini; x++)dp[(n+1)%2][x] = INF; dp[(n+1)%2][0] = 0; for(int i = n; i >= 1; i--) for(int x = 0; x <= ini; x++){ dp[i%2][x] = dp[(i+1)%2][x] + (v[i].sc/(double(ini)+1)); if(x > 0 && v[i].fi != -1) dp[i%2][x] = min( dp[i%2][x], dp[(i+1)%2][x-1] + (v[i].fi/(ini-x+1)) ); } ans = min(ans, dp[1][ini]); } cout<<fixed<<setprecision(15)<<ans<<"\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...