Pagini recente » Cod sursa (job #3284475) | Cod sursa (job #1953262) | Cod sursa (job #706129) | Cod sursa (job #1787154) | Cod sursa (job #2563955)
#include <bits/stdc++.h>
using namespace std;
ifstream in("shop.in");
ofstream out("shop.out");
short n,c,a,ord[31];
int b[31],nr[31],mon,d,val[31];
long long l;
int main()
{
int i,j;
in>>n>>c>>l;
for(i=1;i<=n;++i)
{
in>>a>>nr[i];
val[i]=pow(c,a);
ord[i]=i;
}
bool s = 0;
while(!s)
{
s = 1;
for(i = 1; i < n; ++i)
if(val[i] < val[i + 1])
{
s = 0;
swap(nr[i], nr[i + 1]);
swap(val[i], val[i + 1]);
swap(ord[i], ord[i + 1]);
}
}
for(i = 1; i <= n; ++i)
{
d = l/val[i];
if(d > nr[i])
{
l = l - nr[i] * val[i];
mon += nr[i];
}
else
{
nr[i] = d;
l = l - d * val[i];
mon += d;
}
}
i=1;
s = 0;
while(!s)
{
s = 1;
for(i = 1; i < n; ++i)
if(ord[i] > ord[i + 1])
{
s = 0;
swap(nr[i], nr[i + 1]);
swap(ord[i], ord[i + 1]);
}
}
for(i=1;i<=n;++i)
out<<nr[i]<<" ";
return 0;
}