Pagini recente » Cod sursa (job #160768) | Cod sursa (job #2263225) | Cod sursa (job #1090262) | Cod sursa (job #1808706) | Cod sursa (job #1402054)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
int n,C,sol[35];
long long L;
struct art
{
long long val;
int nr,tip;
} M[35];
bool cmp(art x, art y)
{
return x.val>y.val;
}
int main()
{
f>>n>>C>>L;
for(int a,b,i=1; i<=n; i++)
{
f>>a>>b;
M[i].val=1;
for(int j=1; j<=a; j++) M[i].val*=C;
M[i].nr=b;
M[i].tip=i;
}
sort(M+1,M+1+n,cmp);
for(int i=1; i<=n && L; i++)
{
if(M[i].val<=L)
{
int aux=L/M[i].val,S=min(aux,M[i].nr);
sol[0]+=S;
sol[M[i].tip]+=S;
L-=(M[i].val*S);
}
}
g<<sol[0]<<'\n';
for(int i=1; i<=n; i++) g<<sol[i]<<' ';
g<<'\n';
return 0;
}