Pagini recente » Cod sursa (job #1670825) | Cod sursa (job #2196568) | Cod sursa (job #2743282) | Cod sursa (job #2266084) | Cod sursa (job #2087302)
#include <fstream>
#include <algorithm>
using namespace std;
pair<int, pair<int,int> > a[50];
long long n,c,l,sum,pow,nr[50],j,i;
int main()
{
ifstream f("shop.in");
ofstream g("shop.out");
f>>n>>c>>l;
for(i=1; i<=n; i++)
{
f>>a[i].first>>a[i].second.first;
a[i].second.second=i;
}
sort(a+1,a+n+1);
for(i=n; i>=1; i--)
{
pow=1;
for(j=1; j<=a[i].first; j++)
pow*=c;
if(l/pow<=a[i].second.first)
{
nr[a[i].second.second]=l/pow;
sum+=l/pow;
l%=pow;
}
else
{
nr[a[i].second.second]=a[i].second.first;
sum+=a[i].second.first;
l=l-a[i].second.first*pow;
}
}
g<<sum<<"\n";
for(i=1; i<=n; i++)
g<<nr[i]<<" ";
return 0;
}