本地和 CF 结果不同
查看原帖
本地和 CF 结果不同
220824
yyz1005楼主2023/6/8 14:26

Code:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1010;
ll k,Q;
double dp[5010];
double res[500010];
int main(){
	scanf("%lld%lld",&k,&Q);
	dp[0] = 1.0;
	for(ll T = 1; T <= 50000; T++){
		for(ll it = k; it >= 1; it--){
			dp[it] = dp[it]*(double)(it)/(double)(k)+dp[it-1]*(double)(k-it+1)/(double)(k);
		}
		res[T] = dp[k]*2000.0; 
		dp[0] = 0.0;
	}
	while(Q--){
		double p;
		scanf("%lf",&p);
		printf("%lld\n",lower_bound(res+1,res+50001,p)-res);
	}
	return 0;
}

数据:

1 1
1

本地输出:

1

CF:

39571629642088449
2023/6/8 14:26
加载中...