Pagini recente » Cod sursa (job #3240547) | Cod sursa (job #3280275) | Cod sursa (job #3210888) | Cod sursa (job #2523119) | Cod sursa (job #2096035)
#include <bits/stdc++.h>
using namespace std;
int n,x,nr;
bool ap[100001];
double a[100001],s,A,B,record;
int main()
{
freopen("minim2.in","r",stdin);
freopen("minim2.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
a[i]=x;
s+=a[i];
}
scanf("%lf%lf%lf",&A,&B,&record);
if(record>s){
printf("0");
return 0;
}
// printf("%f %f\n",s,record);
sort(a+1,a+n+1);
while(record<=s){
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);
printf("%d\n",nr);
return 0;
}