Pagini recente » Cod sursa (job #2969824) | Cod sursa (job #929630) | Cod sursa (job #2132273) | Cod sursa (job #2129685) | Cod sursa (job #942100)
Cod sursa(job #942100)
#include<fstream>
#include<algorithm>
using namespace std;
int n,C;
long long L,sol[33],total;
struct Moneda{int ind; long long val,nr;};
Moneda v[33];
inline bool Sortare(Moneda A,Moneda B)
{
return A.val>B.val;
}
int main()
{
int i,put;
long long used;
ifstream fin("shop.in");
fin>>n>>C>>L;
for(i=1;i<=n;i++)
{
fin>>put>>v[i].nr;
v[i].val=1LL;
while(put--)
v[i].val*=C;
v[i].ind=i;
}
fin.close();
sort(v+1,v+n+1,Sortare);
for(i=1;i<=n && L;i++)
{
used=min(v[i].nr,L/v[i].val);
sol[v[i].ind]=used;
L-=used*v[i].val;
total+=used;
}
ofstream fout("shop.out");
fout<<total<<"\n";
for(i=1;i<=n;i++)
fout<<sol[i]<<' ';
fout<<"\n";
fout.close();
return 0;
}