Submission #879957

# Submission time Handle Problem Language Result Execution time Memory
879957 2023-11-28T11:55:27 Z frostray8653 Let's Win the Election (JOI22_ho_t3) C++17
10 / 100
246 ms 4888 KB
#include <bits/stdc++.h>
#define int long long
#define IO ios::sync_with_stdio(0), cin.tie(0)
#define FOR(i, a, b) for (int i = a; i <= b; i++)
using namespace std;
using pii = pair<int, int>;

const int N = 505;
const int INF = 1e9;
const double dINF = 1e9;
pii a[N];

signed main() {
    IO;
    
    int n, tar;
    cin >> n >> tar;
    FOR(i, 1, n) {
        cin >> a[i].first >> a[i].second;
        if (a[i].second == -1)
            a[i].second = INF;
    }
    sort(a + 1, a + n + 1, [&](pii p, pii q) {
        return p.second < q.second;
    });
    vector<vector<double>> dp(n + 1, vector<double>(n + 1, dINF));
    dp[0][0] = 0;
    for (int i = 1; i <= n; i++) {
        vector<vector<double>> ndp(n + 1, vector<double>(n + 1, dINF));
        for (int j = 0; j < i; j++) {
            for (int k = 0; k <= j; k++) {
                if (fabs(dp[j][k] - dINF) > 0.001) {
                    ndp[j][k] = min(ndp[j][k], dp[j][k]);
                    if (a[i].second < INF)
                        ndp[j + 1][k + 1] = min(ndp[j + 1][k + 1], dp[j][k] + (double)a[i].second / (k + 1));
                    ndp[j + 1][k] = min(ndp[j + 1][k], dp[j][k] + (double)a[i].first / (k + 1));
                }
            }
        }
        swap(dp, ndp);
    }
    double ans = dINF;
    for (int k = 0; k <= n; k++)
        ans = min(ans, dp[tar][k]);
    cout << fixed << setprecision(15) << ans << "\n";

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 171 ms 4708 KB Output is correct
6 Correct 175 ms 4624 KB Output is correct
7 Correct 171 ms 4784 KB Output is correct
8 Correct 173 ms 4736 KB Output is correct
9 Correct 167 ms 4604 KB Output is correct
10 Correct 171 ms 4680 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 171 ms 4708 KB Output is correct
6 Correct 175 ms 4624 KB Output is correct
7 Correct 171 ms 4784 KB Output is correct
8 Correct 173 ms 4736 KB Output is correct
9 Correct 167 ms 4604 KB Output is correct
10 Correct 171 ms 4680 KB Output is correct
11 Correct 0 ms 600 KB Output is correct
12 Correct 215 ms 4740 KB Output is correct
13 Correct 203 ms 4632 KB Output is correct
14 Correct 200 ms 4664 KB Output is correct
15 Correct 212 ms 4632 KB Output is correct
16 Correct 241 ms 4560 KB Output is correct
17 Correct 195 ms 4888 KB Output is correct
18 Correct 220 ms 4588 KB Output is correct
19 Correct 246 ms 4604 KB Output is correct
20 Correct 184 ms 4740 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 0 ms 360 KB Output is correct
8 Correct 1 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 1 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 0 ms 360 KB Output is correct
8 Correct 1 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 1 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 0 ms 360 KB Output is correct
8 Correct 1 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 237 ms 4588 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 171 ms 4708 KB Output is correct
6 Correct 175 ms 4624 KB Output is correct
7 Correct 171 ms 4784 KB Output is correct
8 Correct 173 ms 4736 KB Output is correct
9 Correct 167 ms 4604 KB Output is correct
10 Correct 171 ms 4680 KB Output is correct
11 Correct 0 ms 600 KB Output is correct
12 Correct 215 ms 4740 KB Output is correct
13 Correct 203 ms 4632 KB Output is correct
14 Correct 200 ms 4664 KB Output is correct
15 Correct 212 ms 4632 KB Output is correct
16 Correct 241 ms 4560 KB Output is correct
17 Correct 195 ms 4888 KB Output is correct
18 Correct 220 ms 4588 KB Output is correct
19 Correct 246 ms 4604 KB Output is correct
20 Correct 184 ms 4740 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 1 ms 348 KB Output is correct
23 Correct 0 ms 344 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 1 ms 344 KB Output is correct
27 Correct 0 ms 360 KB Output is correct
28 Correct 1 ms 348 KB Output is correct
29 Incorrect 0 ms 348 KB Output isn't correct
30 Halted 0 ms 0 KB -