Pagini recente » Cod sursa (job #272121) | Cod sursa (job #1225385) | Cod sursa (job #910367) | Cod sursa (job #1645913) | Cod sursa (job #1811698)
#include<fstream>
#include<vector>
#include<string>
#include<algorithm>
#define modulo 666013
using namespace std;
ifstream fin("shop.in");
ofstream fout("shop.out");
string sir;
long long int i, n, k, j,contor,st,dr,sol,x,y,c,nr,frecventa ,cont;
vector<pair<int, int> > solutie;
struct moneda
{
long long val, frec, init, nrFolosit;
};
moneda a[100];
bool cmp(moneda x, moneda y)
{
return x.val > y.val;
}
int main()
{
fin >> n >> c >> k;
for(i = 1; i <= n; i++)
{
fin >> nr >> frecventa;
x = 1;
while(nr)
{
x = x * c;
nr--;
}
a[i].val = x;
a[i].frec = frecventa;
a[i].init = i;
}
sort(a+1,a+n+1,cmp);
for(i = 1; i <= n; i++)
{
//fout << a[i].val <<" " <<a[i].frec <<" "<<a[i].init<<"\n";
}
cont = 0;
i = 1;
while(k != 0)
{
nr = k / a[i].val;
nr = min(nr, a[i].frec);
a[i].nrFolosit = nr;
cont = cont + nr;
k = k - (nr * a[i].val);
i++;
}
fout << cont << "\n";
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
{
if(a[j].init == i)
{
fout << a[j].nrFolosit <<" ";
break;
}
}
}
}