Cod sursa(job #2073439)

Utilizator ButmalaiDanButmalai Dan ButmalaiDan Data 23 noiembrie 2017 10:01:11
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
struct my{
	ll x,y,o,cnt;
}a[50];
ll l,c,n,ans;
bool cmpx(my a, my b){return a.x > b.x;}
bool cmpo(my a, my b){return a.o < b.o;}
int main(){
	ifstream cin("shop.in");
	ofstream cout("shop.out");
	cin >> n >> c >> l;	
	for(int i = 0; i < n; i++){
		cin >> a[i].x >> a[i].y;
		a[i].o = i;
		a[i].x = pow(c*1LL, a[i].x*1LL);
	}
	sort(a, a+n, cmpx);
	for(int i = 0; i < n && l; i++){
		ll aux = l/a[i].x;
		l -= min(a[i].y, aux)*a[i].x;
		a[i].cnt = min(a[i].y, aux);
		ans += a[i].cnt;
	}
	cout << ans << "\n";
	sort(a, a+n, cmpo);
	for(int i = 0 ; i < n; i++)
		cout << a[i].cnt << " ";
	return 0;
}