Cod sursa(job #2178590)

Utilizator flibiaVisanu Cristian flibia Data 19 martie 2018 16:41:02
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;

ifstream in("shop.in");
ofstream out("shop.out");

struct lol{
	ll pw, freq, id;
};

int n;
ll c, L, ans, sol[50];
lol a[50];

bool cmp(const lol &a, const lol &b){
	return a.pw > b.pw;
}

int main(){
	in >> n >> c >> L;
	for(int i = 1; i <= n; i++)
		in >> a[i].pw >> a[i].freq, a[i].id = i;
	sort(a + 1, a + n + 1, cmp);
	for(int i = 1; i <= n; i++){
		ll pw = 1;
		for(int j = 1; j <= a[i].pw; j++)
			pw *= c;
		if(pw <= L){
			ll aux = min(a[i].freq, L / pw);
			ans += aux;
			sol[a[i].id] = aux;
			L -= (aux * pw);
		}
	}
	out << ans << '\n';
	for(int i = 1; i <= n; i++)
		out << sol[i] << ' ';
	return 0;
}