明白题意很简单,奈何英语不过关。
题意:共n个测试实例,m个超时,每次测试中每个超时的测试实例通过的概率为1/2,n-m个每个耗时100ms,m个耗时1900ms,问你通过所有的测试实例,花费多少时间?
例如2个此时实例未过,则有四种情况
2个都通过的概率为1/4;
所以:( (n-m)*100+m*1900)*2^m
代码如下
#include<bits/stdc++.h>
#define rep(i,s,t) for(int i=s;i<=t;i++)
#define SI(i) scanf("%d",&i)
#define PI(i) printf("%d\n",i)
using namespace std;
typedef long long ll;
const int mod=1e9+7;
const int MAX=2e5+5;
const int INF=0x3f3f3f3f;
const double eps=1e-8;
int main()
{
ll n,m;
scanf("%lld%lld",&n,&m);
ll time=1900*m+100*(n-m);
ll a=1;
while(m--)
{
a*=2;
}
printf("%lld\n",time*a);
return 0;
}