답안 #678430

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
678430 2023-01-05T23:11:05 Z Pacybwoah Let's Win the Election (JOI22_ho_t3) C++14
21 / 100
958 ms 4384 KB
#include<iostream>
#include<vector>
#include<iomanip>
#include<utility>
#include<algorithm>
#define ld long double
using namespace std;vector<pair<ld,ld>> vec;int n,k;ld solve(int m){vector<vector<ld>> dp(n+1,vector<ld>(k-m+1,1e9+7));dp[1][0]=(m>0?vec[1].first:0);if(k-m>0) dp[1][1]=vec[1].second;for(int i=2;i<=n;i++){for(int j=0;j<=min(k-m,i);j++){dp[i][j]=min(dp[i][j],dp[i-1][j]+(i-j>m?0:vec[i].first/float(i-j)));if(j>0) dp[i][j]=min(dp[i][j],dp[i-1][j-1]+vec[i].second/float(m+1));}}/*for(int i=1;i<=n;i++){for(int j=0;j<=k-m;j++) if(m==2) cout<<dp[i][j]<<" ";cout<<"\n";}*/return dp[n][k-m];}int main(){ios::sync_with_stdio(false);cin.tie(0);cin>>n>>k;vec.resize(n+1);for(int i=1;i<=n;i++) cin>>vec[i].second>>vec[i].first;for(int i=1;i<=n;i++) if(vec[i].first==-1) vec[i].first=1e9;sort(next(vec.begin()),vec.end());int l=0,r=k;ld ans=1e9+7;while(l<r){int mid=(l+r)>>1;ld a=solve(max(mid,0)),b=solve(min(mid+1,r));ans=min(ans,min(a,b));if(a>b) l=min(mid+1,r);else r=(max(mid,0));}for(int i=0;i<=k;i++) ans=min(solve(i),ans);cout<<fixed<<setprecision(12)<<ans;}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 16 ms 784 KB Output is correct
6 Correct 77 ms 1348 KB Output is correct
7 Correct 237 ms 2372 KB Output is correct
8 Correct 581 ms 3396 KB Output is correct
9 Correct 811 ms 4332 KB Output is correct
10 Correct 463 ms 3148 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 16 ms 784 KB Output is correct
6 Correct 77 ms 1348 KB Output is correct
7 Correct 237 ms 2372 KB Output is correct
8 Correct 581 ms 3396 KB Output is correct
9 Correct 811 ms 4332 KB Output is correct
10 Correct 463 ms 3148 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 86 ms 1548 KB Output is correct
13 Correct 93 ms 1588 KB Output is correct
14 Correct 105 ms 1588 KB Output is correct
15 Correct 432 ms 3128 KB Output is correct
16 Correct 476 ms 3136 KB Output is correct
17 Correct 443 ms 3188 KB Output is correct
18 Correct 841 ms 4324 KB Output is correct
19 Correct 819 ms 4340 KB Output is correct
20 Correct 878 ms 4304 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Incorrect 1 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Incorrect 1 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Incorrect 1 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 958 ms 4292 KB Output is correct
2 Correct 851 ms 4292 KB Output is correct
3 Correct 850 ms 4320 KB Output is correct
4 Correct 898 ms 4300 KB Output is correct
5 Correct 833 ms 4380 KB Output is correct
6 Correct 877 ms 4332 KB Output is correct
7 Correct 847 ms 4384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 16 ms 784 KB Output is correct
6 Correct 77 ms 1348 KB Output is correct
7 Correct 237 ms 2372 KB Output is correct
8 Correct 581 ms 3396 KB Output is correct
9 Correct 811 ms 4332 KB Output is correct
10 Correct 463 ms 3148 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 86 ms 1548 KB Output is correct
13 Correct 93 ms 1588 KB Output is correct
14 Correct 105 ms 1588 KB Output is correct
15 Correct 432 ms 3128 KB Output is correct
16 Correct 476 ms 3136 KB Output is correct
17 Correct 443 ms 3188 KB Output is correct
18 Correct 841 ms 4324 KB Output is correct
19 Correct 819 ms 4340 KB Output is correct
20 Correct 878 ms 4304 KB Output is correct
21 Correct 1 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 0 ms 212 KB Output is correct
24 Correct 1 ms 212 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 0 ms 212 KB Output is correct
27 Correct 0 ms 212 KB Output is correct
28 Correct 1 ms 212 KB Output is correct
29 Incorrect 1 ms 212 KB Output isn't correct
30 Halted 0 ms 0 KB -