Pagini recente » Cod sursa (job #3186984) | Cod sursa (job #2906677) | Cod sursa (job #1828771) | Cod sursa (job #631754) | Cod sursa (job #1219891)
#include<fstream>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
long long N,C,L,i,nr,aux,m;
long long rez[31];
struct moneda
{
long long A,B,poz;
}v[31];
bool compar(moneda a, moneda b)
{
return a.A<b.A;
}
int main()
{
f>>N>>C>>L;
for (i=0;i<N;++i)
{
f>>v[i].A>>v[i].B;
v[i].poz=i;
}
sort (v,v+N,compar);
for (i=N-1;i>=0;--i)
{
if (L==0)
break;
m=pow(C,v[i].A);
aux=min((L/m),v[i].B);
L-=(aux*m);
nr+=aux;
rez[v[i].poz]=aux;
}
g<<nr<<'\n';
for (i=0;i<N;++i)
if (rez[i]!=0)
g<<rez[i]<<' ';
f.close();g.close();
return 0;
}