/*input
20
14
106 277
175 217
170 227
164 245
118 254
139 261
142 270
185 200
162 241
153 239
128 264
103 299
147 248
158 236
160 232
183 205
194 197
135 260
153 234
128 260
*/
#include<bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
typedef tree<long long, null_type, less_equal<long long>, rb_tree_tag, tree_order_statistics_node_update> indexed_set;
#pragma GCC optimize("unroll-loops,no-stack-protector")
//order_of_key #of elements less than x
// find_by_order kth element
using ll = long long;
using ld = long double;
using pii = pair<int,int>;
#define f first
#define s second
#define pb push_back
#define REP(i,n) for(int i=0;i<n;i++)
#define REP1(i,n) for(int i=1;i<=n;i++)
#define FILL(n,x) memset(n,x,sizeof(n))
#define ALL(_a) _a.begin(),_a.end()
#define sz(x) (int)x.size()
#define SORT_UNIQUE(c) (sort(c.begin(),c.end()), c.resize(distance(c.begin(),unique(c.begin(),c.end()))))
const ll INF64=4e18;
const int INF=0x3f3f3f3f;
const ll MOD=1e9+7;
const ld PI=acos(-1);
const ld eps=1e-6;
#define lowb(x) x&(-x)
#define MNTO(x,y) x=min(x,(__typeof__(x))y)
#define MXTO(x,y) x=max(x,(__typeof__(x))y)
ll sub(ll a,ll b){
ll x=a-b;
while(x<0) x+=MOD;
while(x>MOD) x-=MOD;
return x;
}
ll mult(ll a,ll b){
return (a*b)%MOD;
}
ll mypow(ll a,ll b){
if(b<=0) return 1;
ll res=1LL;
while(b){
if(b&1) res=(res*a)%MOD;
a=(a*a)%MOD;
b>>=1;
}
return res;
}
const ll maxn=500+5;
const ll maxlg=__lg(maxn)+2;
ld dp[maxn][maxn],ndp[maxn][maxn];
pii arr[maxn];
int main(){
int n,k;
cin>>n>>k;
int cnt=0;
REP1(i,n){
cin>>arr[i].s>>arr[i].f;
if(arr[i].f==-1) arr[i].f=INF;
else ++cnt;
}
sort(arr+1,arr+n+1);
REP1(i,n){
swap(arr[i].f,arr[i].s);
}
ld ans=INF;
REP(a,min(k,cnt)+1){
REP(i,n+1) REP(j,k-a+1) dp[i][j]=INF;
dp[0][0]=0;
REP1(i,n){
REP(j,i+1){
if(i-j>a){
dp[i][j]=dp[i-1][j];
if(j) MNTO(dp[i][j],dp[i-1][j-1]+(ld)arr[i].f/(a+1));
}
else{
dp[i][j]=(dp[i-1][j]+(ld)arr[i].s/(i-j));
if(j) MNTO(dp[i][j],dp[i-1][j-1]+(ld)arr[i].f/(a+1));
}
}
}
MNTO(ans,dp[n][k-a]);
}
cout<<fixed<<setprecision(20)<<ans<<'\n';
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
312 KB |
Output is correct |
5 |
Correct |
4 ms |
3796 KB |
Output is correct |
6 |
Correct |
5 ms |
3796 KB |
Output is correct |
7 |
Correct |
5 ms |
4276 KB |
Output is correct |
8 |
Correct |
6 ms |
4284 KB |
Output is correct |
9 |
Correct |
5 ms |
4180 KB |
Output is correct |
10 |
Correct |
4 ms |
4180 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
312 KB |
Output is correct |
5 |
Correct |
4 ms |
3796 KB |
Output is correct |
6 |
Correct |
5 ms |
3796 KB |
Output is correct |
7 |
Correct |
5 ms |
4276 KB |
Output is correct |
8 |
Correct |
6 ms |
4284 KB |
Output is correct |
9 |
Correct |
5 ms |
4180 KB |
Output is correct |
10 |
Correct |
4 ms |
4180 KB |
Output is correct |
11 |
Correct |
0 ms |
312 KB |
Output is correct |
12 |
Correct |
185 ms |
3936 KB |
Output is correct |
13 |
Correct |
194 ms |
3940 KB |
Output is correct |
14 |
Correct |
130 ms |
3944 KB |
Output is correct |
15 |
Correct |
553 ms |
4272 KB |
Output is correct |
16 |
Correct |
486 ms |
4260 KB |
Output is correct |
17 |
Correct |
188 ms |
4272 KB |
Output is correct |
18 |
Correct |
898 ms |
4256 KB |
Output is correct |
19 |
Correct |
662 ms |
4256 KB |
Output is correct |
20 |
Correct |
221 ms |
4180 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
312 KB |
Output is correct |
2 |
Correct |
1 ms |
312 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
340 KB |
Output is correct |
5 |
Correct |
1 ms |
312 KB |
Output is correct |
6 |
Correct |
1 ms |
308 KB |
Output is correct |
7 |
Correct |
1 ms |
340 KB |
Output is correct |
8 |
Correct |
0 ms |
340 KB |
Output is correct |
9 |
Correct |
1 ms |
312 KB |
Output is correct |
10 |
Correct |
1 ms |
340 KB |
Output is correct |
11 |
Correct |
1 ms |
340 KB |
Output is correct |
12 |
Correct |
1 ms |
312 KB |
Output is correct |
13 |
Correct |
1 ms |
340 KB |
Output is correct |
14 |
Correct |
1 ms |
340 KB |
Output is correct |
15 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
312 KB |
Output is correct |
2 |
Correct |
1 ms |
312 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
340 KB |
Output is correct |
5 |
Correct |
1 ms |
312 KB |
Output is correct |
6 |
Correct |
1 ms |
308 KB |
Output is correct |
7 |
Correct |
1 ms |
340 KB |
Output is correct |
8 |
Correct |
0 ms |
340 KB |
Output is correct |
9 |
Correct |
1 ms |
312 KB |
Output is correct |
10 |
Correct |
1 ms |
340 KB |
Output is correct |
11 |
Correct |
1 ms |
340 KB |
Output is correct |
12 |
Correct |
1 ms |
312 KB |
Output is correct |
13 |
Correct |
1 ms |
340 KB |
Output is correct |
14 |
Correct |
1 ms |
340 KB |
Output is correct |
15 |
Correct |
1 ms |
340 KB |
Output is correct |
16 |
Correct |
1 ms |
340 KB |
Output is correct |
17 |
Correct |
1 ms |
340 KB |
Output is correct |
18 |
Correct |
1 ms |
340 KB |
Output is correct |
19 |
Correct |
1 ms |
340 KB |
Output is correct |
20 |
Correct |
1 ms |
340 KB |
Output is correct |
21 |
Correct |
1 ms |
340 KB |
Output is correct |
22 |
Correct |
1 ms |
340 KB |
Output is correct |
23 |
Correct |
1 ms |
340 KB |
Output is correct |
24 |
Correct |
1 ms |
340 KB |
Output is correct |
25 |
Correct |
1 ms |
312 KB |
Output is correct |
26 |
Correct |
1 ms |
312 KB |
Output is correct |
27 |
Correct |
1 ms |
340 KB |
Output is correct |
28 |
Correct |
1 ms |
340 KB |
Output is correct |
29 |
Correct |
1 ms |
340 KB |
Output is correct |
30 |
Correct |
1 ms |
340 KB |
Output is correct |
31 |
Correct |
1 ms |
340 KB |
Output is correct |
32 |
Correct |
1 ms |
340 KB |
Output is correct |
33 |
Correct |
1 ms |
340 KB |
Output is correct |
34 |
Correct |
1 ms |
340 KB |
Output is correct |
35 |
Correct |
1 ms |
340 KB |
Output is correct |
36 |
Correct |
1 ms |
340 KB |
Output is correct |
37 |
Correct |
1 ms |
340 KB |
Output is correct |
38 |
Correct |
1 ms |
340 KB |
Output is correct |
39 |
Correct |
1 ms |
340 KB |
Output is correct |
40 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
312 KB |
Output is correct |
2 |
Correct |
1 ms |
312 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
340 KB |
Output is correct |
5 |
Correct |
1 ms |
312 KB |
Output is correct |
6 |
Correct |
1 ms |
308 KB |
Output is correct |
7 |
Correct |
1 ms |
340 KB |
Output is correct |
8 |
Correct |
0 ms |
340 KB |
Output is correct |
9 |
Correct |
1 ms |
312 KB |
Output is correct |
10 |
Correct |
1 ms |
340 KB |
Output is correct |
11 |
Correct |
1 ms |
340 KB |
Output is correct |
12 |
Correct |
1 ms |
312 KB |
Output is correct |
13 |
Correct |
1 ms |
340 KB |
Output is correct |
14 |
Correct |
1 ms |
340 KB |
Output is correct |
15 |
Correct |
1 ms |
340 KB |
Output is correct |
16 |
Correct |
1 ms |
340 KB |
Output is correct |
17 |
Correct |
1 ms |
340 KB |
Output is correct |
18 |
Correct |
1 ms |
340 KB |
Output is correct |
19 |
Correct |
1 ms |
340 KB |
Output is correct |
20 |
Correct |
1 ms |
340 KB |
Output is correct |
21 |
Correct |
1 ms |
340 KB |
Output is correct |
22 |
Correct |
1 ms |
340 KB |
Output is correct |
23 |
Correct |
1 ms |
340 KB |
Output is correct |
24 |
Correct |
1 ms |
340 KB |
Output is correct |
25 |
Correct |
1 ms |
312 KB |
Output is correct |
26 |
Correct |
1 ms |
312 KB |
Output is correct |
27 |
Correct |
1 ms |
340 KB |
Output is correct |
28 |
Correct |
1 ms |
340 KB |
Output is correct |
29 |
Correct |
1 ms |
340 KB |
Output is correct |
30 |
Correct |
1 ms |
340 KB |
Output is correct |
31 |
Correct |
1 ms |
340 KB |
Output is correct |
32 |
Correct |
1 ms |
340 KB |
Output is correct |
33 |
Correct |
1 ms |
340 KB |
Output is correct |
34 |
Correct |
1 ms |
340 KB |
Output is correct |
35 |
Correct |
1 ms |
340 KB |
Output is correct |
36 |
Correct |
1 ms |
340 KB |
Output is correct |
37 |
Correct |
1 ms |
340 KB |
Output is correct |
38 |
Correct |
1 ms |
340 KB |
Output is correct |
39 |
Correct |
1 ms |
340 KB |
Output is correct |
40 |
Correct |
1 ms |
340 KB |
Output is correct |
41 |
Correct |
2 ms |
724 KB |
Output is correct |
42 |
Correct |
2 ms |
724 KB |
Output is correct |
43 |
Correct |
3 ms |
724 KB |
Output is correct |
44 |
Correct |
2 ms |
724 KB |
Output is correct |
45 |
Correct |
4 ms |
724 KB |
Output is correct |
46 |
Correct |
4 ms |
724 KB |
Output is correct |
47 |
Correct |
5 ms |
824 KB |
Output is correct |
48 |
Correct |
5 ms |
724 KB |
Output is correct |
49 |
Correct |
7 ms |
724 KB |
Output is correct |
50 |
Correct |
6 ms |
820 KB |
Output is correct |
51 |
Correct |
8 ms |
852 KB |
Output is correct |
52 |
Correct |
7 ms |
852 KB |
Output is correct |
53 |
Correct |
5 ms |
852 KB |
Output is correct |
54 |
Correct |
5 ms |
724 KB |
Output is correct |
55 |
Correct |
5 ms |
724 KB |
Output is correct |
56 |
Correct |
5 ms |
836 KB |
Output is correct |
57 |
Correct |
5 ms |
820 KB |
Output is correct |
58 |
Correct |
5 ms |
828 KB |
Output is correct |
59 |
Correct |
5 ms |
820 KB |
Output is correct |
60 |
Correct |
5 ms |
824 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
909 ms |
4264 KB |
Output is correct |
2 |
Correct |
890 ms |
4260 KB |
Output is correct |
3 |
Correct |
931 ms |
4260 KB |
Output is correct |
4 |
Correct |
882 ms |
4268 KB |
Output is correct |
5 |
Correct |
884 ms |
4268 KB |
Output is correct |
6 |
Correct |
907 ms |
4264 KB |
Output is correct |
7 |
Correct |
884 ms |
4256 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
312 KB |
Output is correct |
5 |
Correct |
4 ms |
3796 KB |
Output is correct |
6 |
Correct |
5 ms |
3796 KB |
Output is correct |
7 |
Correct |
5 ms |
4276 KB |
Output is correct |
8 |
Correct |
6 ms |
4284 KB |
Output is correct |
9 |
Correct |
5 ms |
4180 KB |
Output is correct |
10 |
Correct |
4 ms |
4180 KB |
Output is correct |
11 |
Correct |
0 ms |
312 KB |
Output is correct |
12 |
Correct |
185 ms |
3936 KB |
Output is correct |
13 |
Correct |
194 ms |
3940 KB |
Output is correct |
14 |
Correct |
130 ms |
3944 KB |
Output is correct |
15 |
Correct |
553 ms |
4272 KB |
Output is correct |
16 |
Correct |
486 ms |
4260 KB |
Output is correct |
17 |
Correct |
188 ms |
4272 KB |
Output is correct |
18 |
Correct |
898 ms |
4256 KB |
Output is correct |
19 |
Correct |
662 ms |
4256 KB |
Output is correct |
20 |
Correct |
221 ms |
4180 KB |
Output is correct |
21 |
Correct |
1 ms |
312 KB |
Output is correct |
22 |
Correct |
1 ms |
312 KB |
Output is correct |
23 |
Correct |
1 ms |
340 KB |
Output is correct |
24 |
Correct |
1 ms |
340 KB |
Output is correct |
25 |
Correct |
1 ms |
312 KB |
Output is correct |
26 |
Correct |
1 ms |
308 KB |
Output is correct |
27 |
Correct |
1 ms |
340 KB |
Output is correct |
28 |
Correct |
0 ms |
340 KB |
Output is correct |
29 |
Correct |
1 ms |
312 KB |
Output is correct |
30 |
Correct |
1 ms |
340 KB |
Output is correct |
31 |
Correct |
1 ms |
340 KB |
Output is correct |
32 |
Correct |
1 ms |
312 KB |
Output is correct |
33 |
Correct |
1 ms |
340 KB |
Output is correct |
34 |
Correct |
1 ms |
340 KB |
Output is correct |
35 |
Correct |
1 ms |
340 KB |
Output is correct |
36 |
Correct |
1 ms |
340 KB |
Output is correct |
37 |
Correct |
1 ms |
340 KB |
Output is correct |
38 |
Correct |
1 ms |
340 KB |
Output is correct |
39 |
Correct |
1 ms |
340 KB |
Output is correct |
40 |
Correct |
1 ms |
340 KB |
Output is correct |
41 |
Correct |
1 ms |
340 KB |
Output is correct |
42 |
Correct |
1 ms |
340 KB |
Output is correct |
43 |
Correct |
1 ms |
340 KB |
Output is correct |
44 |
Correct |
1 ms |
340 KB |
Output is correct |
45 |
Correct |
1 ms |
312 KB |
Output is correct |
46 |
Correct |
1 ms |
312 KB |
Output is correct |
47 |
Correct |
1 ms |
340 KB |
Output is correct |
48 |
Correct |
1 ms |
340 KB |
Output is correct |
49 |
Correct |
1 ms |
340 KB |
Output is correct |
50 |
Correct |
1 ms |
340 KB |
Output is correct |
51 |
Correct |
1 ms |
340 KB |
Output is correct |
52 |
Correct |
1 ms |
340 KB |
Output is correct |
53 |
Correct |
1 ms |
340 KB |
Output is correct |
54 |
Correct |
1 ms |
340 KB |
Output is correct |
55 |
Correct |
1 ms |
340 KB |
Output is correct |
56 |
Correct |
1 ms |
340 KB |
Output is correct |
57 |
Correct |
1 ms |
340 KB |
Output is correct |
58 |
Correct |
1 ms |
340 KB |
Output is correct |
59 |
Correct |
1 ms |
340 KB |
Output is correct |
60 |
Correct |
1 ms |
340 KB |
Output is correct |
61 |
Correct |
2 ms |
724 KB |
Output is correct |
62 |
Correct |
2 ms |
724 KB |
Output is correct |
63 |
Correct |
3 ms |
724 KB |
Output is correct |
64 |
Correct |
2 ms |
724 KB |
Output is correct |
65 |
Correct |
4 ms |
724 KB |
Output is correct |
66 |
Correct |
4 ms |
724 KB |
Output is correct |
67 |
Correct |
5 ms |
824 KB |
Output is correct |
68 |
Correct |
5 ms |
724 KB |
Output is correct |
69 |
Correct |
7 ms |
724 KB |
Output is correct |
70 |
Correct |
6 ms |
820 KB |
Output is correct |
71 |
Correct |
8 ms |
852 KB |
Output is correct |
72 |
Correct |
7 ms |
852 KB |
Output is correct |
73 |
Correct |
5 ms |
852 KB |
Output is correct |
74 |
Correct |
5 ms |
724 KB |
Output is correct |
75 |
Correct |
5 ms |
724 KB |
Output is correct |
76 |
Correct |
5 ms |
836 KB |
Output is correct |
77 |
Correct |
5 ms |
820 KB |
Output is correct |
78 |
Correct |
5 ms |
828 KB |
Output is correct |
79 |
Correct |
5 ms |
820 KB |
Output is correct |
80 |
Correct |
5 ms |
824 KB |
Output is correct |
81 |
Correct |
909 ms |
4264 KB |
Output is correct |
82 |
Correct |
890 ms |
4260 KB |
Output is correct |
83 |
Correct |
931 ms |
4260 KB |
Output is correct |
84 |
Correct |
882 ms |
4268 KB |
Output is correct |
85 |
Correct |
884 ms |
4268 KB |
Output is correct |
86 |
Correct |
907 ms |
4264 KB |
Output is correct |
87 |
Correct |
884 ms |
4256 KB |
Output is correct |
88 |
Correct |
59 ms |
3796 KB |
Output is correct |
89 |
Correct |
57 ms |
3796 KB |
Output is correct |
90 |
Correct |
160 ms |
3884 KB |
Output is correct |
91 |
Correct |
181 ms |
3884 KB |
Output is correct |
92 |
Correct |
344 ms |
4256 KB |
Output is correct |
93 |
Correct |
354 ms |
4260 KB |
Output is correct |
94 |
Correct |
638 ms |
4256 KB |
Output is correct |
95 |
Correct |
617 ms |
4260 KB |
Output is correct |
96 |
Correct |
785 ms |
4256 KB |
Output is correct |
97 |
Correct |
753 ms |
4260 KB |
Output is correct |
98 |
Correct |
540 ms |
4256 KB |
Output is correct |
99 |
Correct |
555 ms |
4180 KB |
Output is correct |
100 |
Correct |
533 ms |
4364 KB |
Output is correct |
101 |
Correct |
550 ms |
4276 KB |
Output is correct |
102 |
Correct |
541 ms |
4260 KB |
Output is correct |
103 |
Correct |
545 ms |
4256 KB |
Output is correct |
104 |
Correct |
559 ms |
4256 KB |
Output is correct |
105 |
Correct |
543 ms |
4256 KB |
Output is correct |