Pagini recente » Cod sursa (job #2100437) | Cod sursa (job #1204337) | Cod sursa (job #1217154) | infinity-2022-6 | Cod sursa (job #1462100)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
unsigned long long a[35], c, d;
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 <= 32; i++)
{
p[i] = 1ULL * m*p[i - 1];
}
for (i = 32; i >= 0; i--)
{
if (p[i] <= c)
{
d += 1ULL * min(1ULL * c / p[i], 1ULL * a[i]);
f[i] = 1ULL * min(1ULL * c / p[i], 1ULL * a[i]);
c -= 1ULL * p[i] * min(1ULL * c / p[i], 1ULL * a[i]);
}
}
out << d<<"\n";
for (i = 1; i <= n; i++)
{
out << f[mem[i]]<<" ";
}
}