hdu2570(贪心)
生活随笔
收集整理的這篇文章主要介紹了
hdu2570(贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://acm.hdu.edu.cn/showproblem.php?pid=2570
也算細心題啊。
View Code #include"iostream"#include"algorithm"
using namespace std;
int main()
{
int i,t;
int n,v,w;
double a[110];
cin>>t;
while(t--)
{
cin>>n>>v>>w;
for(i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
double p=0.0;
int k=0;
for(i=0;i<n;i++)
{
if((p*i+a[i])/(i+1)<=w) //(sum*i*v+a[i]*v)/((i+1)*v)
{
p=(p*i+a[i])/((i+1));
}
else break;
}
printf("%d %.2lf\n",i*v,p/100);
}
return 0;
}
下面這個是一開始的方法,因為少乘了個v,w了n次,悲劇!
View Code #include"iostream"#include"algorithm"
using namespace std;
int main()
{
int t,i,j;
int n,v,w;
int a[110];
cin>>t;
while(t--)
{
cin>>n>>v>>w;
for(i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
double sum=0,s=0;
__int64 k=0;
int t=1;
for(i=0;i<n;i++)
{
s+=a[i]*v; //這兒剛開始就因為少乘了一個V,結果錯了n次,而測試例子正好不影響,悲劇啊!
if(s/(v*(i+1))<=w)
{
sum=s/(v*(i+1));
k++;
}
else break;
}
printf("%I64d %.2lf\n",k*v,sum/100);
}
return 0;
}
轉載于:https://www.cnblogs.com/FCWORLD/archive/2011/05/04/2036083.html
總結
以上是生活随笔為你收集整理的hdu2570(贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java遍历指定文件夹,在屏幕打印所有以
- 下一篇: 全屏插件fullsizable.js失效