Pagini recente » Cod sursa (job #89354) | Cod sursa (job #978980) | Cod sursa (job #2944130) | Cod sursa (job #434392) | Cod sursa (job #1168304)
#include <fstream>
using namespace std;
ifstream in("shop.in");
ofstream out("shop.out");
const int pmax= 60;
const int nmax= 30;
long long p[pmax+1], sol[nmax+1];
int a[nmax+1], b[nmax+1];
int main()
{
long long n, c, l;
int i,k=0,max,j,pos,m;
in>>n>>c>>l;
p[0]= 1;
for (i=1;p[i-1]<=l;i++)
{
p[i]= p[i-1]*c;
}
for (i=1;i<=n;i++)
{
in>>a[i]>>b[i];
}
for (i=1;i<=n&&l>0;i++ )
{
max=-1, pos=0;
for (j=1;j<=n;j++ )
{
if ( a[j]>max )
{
max= a[j];
pos=j;
}
}
m= l/p[a[pos]];
sol[pos]= b[pos];
if ( m<sol[pos] )
{
sol[pos]= m;
}
k+=sol[pos];
l=l-sol[pos]*p[a[pos]];
a[pos]= b[pos]= -1;
}
out<<k<<"\n";
for (i=1;i<=n;i++)
{
out<<sol[i]<<" ";
}
out<<"\n";
in.close();
out.close();
return 0;
}