👤

buna
incerc sa fac problema cafea de pe pbinfo (https://www.pbinfo.ro/probleme/3739/cafea) si imi da 20 de puncte si nu stiu de ce
aici este codul

#include

using namespace std;
ifstream in("cafea.in");
ofstream out("cafea.out");

long long s,k;
int n;
float impq;

struct negustori
{
int grame;
float pret;
};
negustori v[100002];


long long conv(float k)
{
int a=k;
if(k > a)
return a+1;
else
return a;
}


int main()
{
in>>k>>s>>n;
for(int i=1; i<=n; i++)
{
in>>v[i].grame>>v[i].pret;
impq= (float) v[i].pret/v[i].grame;
v[i].pret=impq;
}



for(int i=2; i<=n; i++)
{
while(v[i].pret < v[i-1].pret )
{
float schimb1= v[i].pret;
int schimb2=v[i].grame;

v[i].pret=v[i-1].pret;
v[i-1].pret=schimb1;

v[i].grame=v[i-1].grame;
v[i-1].grame=schimb2;
}
}


for(int i=1; i<=n ; i++)
{
if( v[i].grame < k )
{
k=k-v[i].grame;
s=s- v[i].grame* v[i].pret;
}
else
{
s=s - conv( v[i].pret *k);
k=0;
break;
}
if(s <= 0)
{
break;
}
}

if(k!=0 || s<=0)
{
out<<0;
}
else
out<
return 0;
}


multumesc anticipat