Pagini recente » Monitorul de evaluare | Cod sursa (job #2150944) | Cod sursa (job #783579) | Cod sursa (job #2201481) | Cod sursa (job #790469)
Cod sursa(job #790469)
#include<fstream>
int v[31],v1[31],i,n,c,l,y,max1,m,g[31],p;
using namespace std;
int main()
{
ifstream in("shop.in");
ofstream out("shop.out");
in>>n>>c>>l;
for(i=1;i<=n;i++){
in>>v[i]>>v1[i];
if(v[i]>max1)
{
max1=v[i];
p=i;
}
}
while(l>0)
{
max1=1;
for(i=1;i<=v[p];i++)
max1*=c;
if(l/max1<=v1[p])
y=l/max1;
else
y=v1[p];
m+=y;
g[p]=y;
l-=max1*y;
v1[p]=0;
max1=-1;
for(i=1;i<=n;i++)
{
if(v[i]>max1&&v1[i]>0)
{
max1=v[i];
p=i;
}
}
}
out<<m<<"\n";
for(i=1;i<=n;i++)
{
out<<g[i]<<" ";
}
return 0;
}