Pagini recente » Cod sursa (job #1445103) | Cod sursa (job #652711) | Cod sursa (job #1675024) | Cod sursa (job #1527407) | Cod sursa (job #2096042)
#include <bits/stdc++.h>
using namespace std;
ifstream f("minim2.in");
ofstream g("minim2.out");
int n,x,nr;
bool ap[100001];
double a[100001],s,A,B,record;
int main()
{
f >> n;
for(int i=1;i<=n;i++)
{
f >> x;
a[i]=x;
s+=a[i];
}
f >> A >> B >> record;
if(record>s){
printf("0");
return 0;
}
// printf("%f %f\n",s,record);
sort(a+1,a+n+1);
for(int i=n;i>=1;i--)
{
s=s-a[i];
if(!ap[i])
{
ap[i]=1;
a[i]=a[i]*A;
s=s+a[i];
}
else{
a[i]=a[i]*B;
s=s+a[i];
}
nr++;
if(s<record) {
// printf("da");
break;
}
if(ap[i-1]==0)
{
if((a[i-1]-a[i-1]*A)<=(a[i]-a[i]*B))
i++;
}
else
{
if((a[i-1]-a[i-1]*B)<=(a[i]-a[i]*B))
i++;
}
}
// printf("%lf %lf\n",s,record);
g << nr;
return 0;
}