Pagini recente » Cod sursa (job #349784) | Cod sursa (job #709476) | Cod sursa (job #1137802) | Cod sursa (job #378225) | Cod sursa (job #1219950)
#include<fstream>
#include<algorithm>
#include<math.h>
#define LL long long
#define MAXN 31
using namespace std;
ifstream cin("shop.in");
ofstream cout("shop.out");
struct moneda {
LL A;
LL B;
LL poz; } M[MAXN];
LL N,C,L,T[MAXN],m,aux,Sum;
LL cmp(moneda v,moneda w) {
return (v.A>w.A); }
int main() {
LL i,j;
cin>>N>>C>>L;
for(i=1;i<=N;i++) {
cin>>M[i].A>>M[i].B;
M[i].poz=i; }
sort(M+1,M+N+1,cmp);
for(i=1;i<=N;i++) {
if(!L) break;
m=pow(C,M[i].A);
aux=min(L/m,M[i].B);
Sum+=aux;
L-=m*aux;
T[M[i].poz]=aux;
}
cout<<Sum<<"\n";
for(i=1;i<=N;i++)
cout<<T[i]<<" ";
return 0;
}