Cod sursa(job #1462098)

Utilizator LegionHagiu Stefan Legion Data 17 iulie 2015 03:44:05
Problema Shop Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#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]]<<" ";
	}
}