# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
598815 | denniskim | Let's Win the Election (JOI22_ho_t3) | C++17 | 1268 ms | 42592 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef __int128 lll;
typedef long double ld;
#define MAX 9223372036854775807LL
#define MIN -9223372036854775807LL
#define INF 0x3f3f3f3f3f3f3f3f
#define fi first
#define se second
ll n;
ll k;
pair<ll, ll> a[510];
ld ans = INF;
ll chk[510];
ld dp[110][110][110];
ld gap[510];
ld query(ll i)
{
if(gap[i])
return gap[i];
for(ll j = 0 ; j <= n ; j++)
{
for(ll o = 0 ; o <= k ; o++)
{
for(ll oo = 0 ; oo <= i ; oo++)
dp[j][o][oo] = 10000000;
}
}
dp[0][0][0] = 0;
for(ll j = 1 ; j <= n ; j++)
{
for(ll o = 0 ; o <= k ; o++)
{
for(ll oo = 0 ; oo <= i ; oo++)
{
dp[j][o][oo] = min(dp[j][o][oo], dp[j - 1][o][oo]);
if(o >= 1)
dp[j][o][oo] = min(dp[j][o][oo], dp[j - 1][o - 1][oo] + (ld)a[j].se / (ld)(i + 1));
if(o >= 1 && oo >= 1)
dp[j][o][oo] = min(dp[j][o][oo], dp[j - 1][o - 1][oo - 1] + (ld)a[j].fi / (ld)oo);
}
}
}
return gap[i] = dp[n][k][i];
}
int main(void)
{
scanf("%lld", &n);
scanf("%lld", &k);
for(ll i = 1 ; i <= n ; i++)
{
scanf("%lld %lld", &a[i].se, &a[i].fi);
if(a[i].fi == -1)
a[i].fi = 1000000000;
}
sort(a + 1, a + 1 + n);
for(ll i = 0 ; i <= k ; i++)
ans = min(ans, query(i));
printf("%.10Lf", ans);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |