Pagini recente » Cod sursa (job #849206) | Cod sursa (job #2703403) | Cod sursa (job #2136369) | Cod sursa (job #2780339) | Cod sursa (job #1174706)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
long long L;
int N, C, t;
struct monezi {long long v; int buc, nr; } x[32];
int y[32], z[32];
int cmp(monezi a, monezi b)
{
return a.v>b.v;
}
int main()
{
int a, i, j, c;
f>>N>>C>>L;
for(i=1; i<=N; i++)
{
f>>a>>x[i].buc;
x[i].nr=i;
x[i].v=1;
for(j=1; j<=a; j++)
x[i].v*=C;
}
sort (x+1,x+N+1,cmp);
i=1;
while(L)
{ c=L/x[i].v;
y[i]=min(c,x[i].buc);
z[i]=x[i].nr;
L=L-y[i]*x[i].v;
t+=y[i];
i++;
}
g<<t<<'\n';
for(i=1; i<=N; i++)
{ j=1;
while(z[j]!=i) j++;
g<<y[j]<<" ";
}
g<<'\n'; g.close(); return 0;
}