Cod sursa(job #465912)

Utilizator DeadEyeNaiba Mihai Lucian DeadEye Data 25 iunie 2010 13:58:39
Problema Minim2 Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 1 Marime 0.71 kb
#include<cstdio>
#include<vector>
#include<algorithm>
int n,nrp; long double ss;
double x,y,a,b,r;
long long v[100001];
using namespace std;
vector < double > W;
int main()
{
	freopen("minim2.in","r",stdin);
	freopen("minim2.out","w",stdout);
	scanf("%d",&n);
	int i,j; ss=0;
	for(i=1;i<=n;i++)
	{
		scanf("%lld",&v[i]);
		ss+=v[i];
	}
	scanf("%lf%lf%lf",&a,&b,&r);
	//for(i=1;i<=n;i++)
		//r=r-v[i];
	for(i=1;i<=n;i++)
	{
		x=v[i]*a;
		y=v[i];
		y=y-x;
		W.push_back(y);
		for(j=1;j<=20;j++)
		{
			y=x;
			x=x*b;
			y=y-x;
			W.push_back(y);
		}
	}
	sort(W.begin(),W.end());
	i=21*n-1; nrp=0;
	while(ss-r>0.000001)
	{
		ss=ss-W[i];
		i--;
		nrp++;
	}
	printf("%d\n",nrp);
	return 0;
}