题目链接
思路:
暴力即可,注意减去第一次输出所需要的时间。
代码:
#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const int N=1e5+5;
const int M=2e4+5;
const double eps=1e-8;
const int mod=1e9+7;
const int inf=0x7fffffff;
const double pi=3.1415926;
using namespace std;
int n,T,ans,a,d,sum[N];
signed main()
{
IOS;
cin>>T;
while(T--)
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>d;
sum[i]=(100-a)/a*d;
if(100%a)
{
sum[i] += d;
}
}
sort(sum+1,sum+n+1);
int t=1,g=sum[1];
for(int i=2;i<=n;i++)
{
if(sum[i]==g)
{
t++;
}
}
double ans=t*1.0/(2*n)+(n-t)*1.0/n;
cout<<ans<<endl;
}
return 0;
}
本文深入探讨了暴力算法的实现思路,通过具体题目链接引入,详细解析了算法的执行过程。利用C++代码展示了如何通过预处理求和、排序和计数等操作来优化算法效率。文章强调了在算法设计中考虑输出时间的重要性。
230

被折叠的 条评论
为什么被折叠?



