Pagini recente » Cod sursa (job #2079935) | Cod sursa (job #2664928) | Cod sursa (job #2720741) | Cod sursa (job #903643) | Cod sursa (job #2095871)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("minim2.in");
ofstream g("minim2.out");
int v[100001],n,i,sa,k,j;
double a[100001],val,record,A,B;
long double S;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>a[i],v[i]=0,S+=a[i];
f>>A>>B>>record;
sort(a+1,a+n+1);
sa=a[n];
a[n]=a[n]*A;
S=S-(sa-a[n]);
v[n]=1;
k++;
while(k<=500)
{
sort(a+1,a+n+1);
if(v[n]==0)
val=a[n]-a[n]*A,a[n]=a[n]*A;
else
{
for(j=n-1;j>=1;j--)
{
if(v[j]==0)
{
if(a[j]-a[j]*A<a[n]-a[n]*B)
val=a[n]-a[n]*B,a[n]=a[n]*B;
else
val=a[j]-a[j]*A,a[j]=a[j]*A,v[j]=1;
break;
}
}
}
S=S-val;
k++;
if(S<record)
break;
}
g<<k;
return 0;
}