Submission #973598

# Submission time Handle Problem Language Result Execution time Memory
973598 2024-05-02T08:14:22 Z berr Let's Win the Election (JOI22_ho_t3) C++17
10 / 100
696 ms 4420 KB
#include <bits/stdc++.h>
using namespace std;
const int N = 505;
 
array<double, 2> dp[N][N];
 
signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int n, k; cin >> n >> k;
    vector<array<int, 2>> a(n);
 
    for(auto &[i, l]: a) cin >> i >> l;
 
    sort(a.begin(), a.end(), [&](auto x, auto y){
        if(x[1]==y[1]) return x[0] < y[0];
        else if(y[1]==-1) return true;
        else if(x[1]==-1) return false;
         return x[1]<y[1]; 
    });
    
 
    for(int i=0; i<=n+1; i++){
        for(int l=0; l<=n+1; l++){
            dp[i][l]={1e9, 1e9};
        }
    }
 
    dp[0][0]={0, 0};
 
    for(int i=0; i<n; i++){
 
        for(int l=n; l>=0; l--){
            for(int x=n; x>=0; x--){
              //  cout<<(double)a[i][1]/(double)(l+1)<<"\n";
                if(a[i][1]!=-1)
                dp[l+1][x]=min(dp[l+1][x], {dp[l][x][0]+(double)a[i][1]/(double)(l+1), dp[l][x][1]});
          
                dp[l][x+1]=min(dp[l][x+1], {dp[l][x][0], dp[l][x][1]+a[i][0]});
 
            }
        }
 
    }
    double ans=1e9;
    for(int i=0; i<=k; i++){
 
        ans=min(ans, dp[i][k-i][0]+(double)dp[i][k-i][1]/(double)(i+1));
    }
 
    cout<<fixed<<setprecision(9)<<fixed<<ans<<"\n";
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 517 ms 4420 KB Output is correct
6 Correct 496 ms 4184 KB Output is correct
7 Correct 541 ms 4188 KB Output is correct
8 Correct 506 ms 4408 KB Output is correct
9 Correct 501 ms 4404 KB Output is correct
10 Correct 500 ms 4416 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 517 ms 4420 KB Output is correct
6 Correct 496 ms 4184 KB Output is correct
7 Correct 541 ms 4188 KB Output is correct
8 Correct 506 ms 4408 KB Output is correct
9 Correct 501 ms 4404 KB Output is correct
10 Correct 500 ms 4416 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 643 ms 4404 KB Output is correct
13 Correct 630 ms 4404 KB Output is correct
14 Correct 526 ms 4404 KB Output is correct
15 Correct 655 ms 4412 KB Output is correct
16 Correct 621 ms 4408 KB Output is correct
17 Correct 547 ms 4404 KB Output is correct
18 Correct 639 ms 4412 KB Output is correct
19 Correct 611 ms 4408 KB Output is correct
20 Correct 529 ms 4412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 360 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 360 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 360 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 696 ms 4412 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 517 ms 4420 KB Output is correct
6 Correct 496 ms 4184 KB Output is correct
7 Correct 541 ms 4188 KB Output is correct
8 Correct 506 ms 4408 KB Output is correct
9 Correct 501 ms 4404 KB Output is correct
10 Correct 500 ms 4416 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 643 ms 4404 KB Output is correct
13 Correct 630 ms 4404 KB Output is correct
14 Correct 526 ms 4404 KB Output is correct
15 Correct 655 ms 4412 KB Output is correct
16 Correct 621 ms 4408 KB Output is correct
17 Correct 547 ms 4404 KB Output is correct
18 Correct 639 ms 4412 KB Output is correct
19 Correct 611 ms 4408 KB Output is correct
20 Correct 529 ms 4412 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 0 ms 348 KB Output is correct
23 Correct 0 ms 348 KB Output is correct
24 Correct 1 ms 348 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 0 ms 360 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Incorrect 0 ms 348 KB Output isn't correct
30 Halted 0 ms 0 KB -