Pagini recente » Cod sursa (job #3149489) | Cod sursa (job #634873) | Cod sursa (job #2991134) | Cod sursa (job #2235852) | Cod sursa (job #1462098)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
unsigned long long a[35], c, d = 0;
unsigned long long f[35];
unsigned long long mem[35];
unsigned long long p[35];
int main()
{
ifstream in("shop.in");
ofstream out("shop.out");
unsigned long long n, m, x, y;
int i;
in >> n;
in >> m;
in >> c;
for (i = 1; i <= n; i++)
{
in >> x;
in >> y;
mem[i] = x;
a[x] = y;
}
p[0] = 1;
for (i = 1; i <= 34; i++)
{
p[i] = m*p[i - 1];
}
for (i = 32; i >= 0; i--)
{
if (p[i] <= c)
{
d += min(c / p[i], a[i]);
f[i] = min(c / p[i], a[i]);
c -= p[i]*min(c / p[i], a[i]);
}
}
out << d<<"\n";
for (i = 1; i <= n; i++)
{
out << f[mem[i]]<<" ";
}
}