Cod sursa(job #2095860)

Utilizator RazvanGutaGuta Razvan Alexandru RazvanGuta Data 28 decembrie 2017 12:42:46
Problema Minim2 Scor 0
Compilator cpp Status done
Runda vacanta_11_2 Marime 0.73 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("minim2.in");
ofstream g("minim2.out");
int v[100001],n,i,sa,k,j,t,t2;
double a[100001],val,record,A,B,M0,M1,val2;
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;
    while(S>record)
    {
        M0=0;
        M1=0;
        for(i=1;i<=n;i++)
        {

            if(a[i]>M0&&v[i]==0)
            M0=a[i],t=i,val=M0-a[i]*A;
            if(a[i]>M1&&v[i]==1)
            M1=a[i],t2=i,val2=M1-a[i]*B;
        }
        if(val>val2)
            S=S-val,v[t]=1,a[t]=a[t]*A;
        else
        S=S-val2,a[t2]=a[t2]*B;
        k++;
    }
    g<<k;
    return 0;
}