Pagini recente » Cod sursa (job #1278885) | Cod sursa (job #1333222) | Cod sursa (job #1130730) | Cod sursa (job #2980130) | Cod sursa (job #1242394)
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
unsigned long long n,c,l,aux;
unsigned long long val[31];
unsigned long long rez[31];
int poz[31];
int main()
{
f >> n >> c >> l ;
for (int i=1;i<=n;i++)
{
long long a,b;
f >> a >> b;
val[a] +=b;
poz[i] = a;
}
int i = 30;
long long mon = 0;
while (l && i > 0)
{
unsigned long long temp;
temp = min ( val[i] , l / max((unsigned long long)1,(unsigned long long)pow(c,i)) );
mon += temp;
l -= (unsigned long long)pow(c,i) * temp;
rez[i] += temp;
/*for (int j=1;(j<=val[i]) && (l-pow(c,i) >= 0) ;j++)
{
l -= pow(c,i);
rez[i] ++;
mon ++;
}*/
i--;
}
g << mon << "\n";
for (int i=1;i<=n;i++)
g << rez[ poz[i] ] << " ";
return 0;
}