Pagini recente » Cod sursa (job #626470) | Cod sursa (job #1642789) | Cod sursa (job #2975409) | Cod sursa (job #1972745) | Cod sursa (job #2497732)
#include <bits/stdc++.h>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
int n,m,c,k,v[1001],p,aux[1001],ap[100];
long long l,val;
struct bani{
int x,c,i;
}a[30];
bool cmp(bani a, bani b){
return a.x>b.x;
}
bool cmp2(bani a, bani b){
return a.i<b.i;
}
long long log_exp(int x, int n){
if(n==0)return 1;
int p=x;
for(int i=2; i<=n; ++i)
p=p*x;
return p;
}
int main(){
f>>n>>c>>l;
for(int i=1; i<=n; ++i){
f>>a[i].x>>a[i].c;
a[i].i=i;
aux[i]=a[i].x;
}
sort(a+1, a+n+1, cmp);
val=log_exp(c,a[1].x);
int i=1;
for(int i=1; i<=n && l>0; ++i){
val=log_exp(c,a[i].x);
p=l/val;
if(p<a[i].c){
l=l-p*val;
a[i].c=p;
}
else l=l-a[i].c*val;
k=k+a[i].c;
ap[a[i].x]=min(p,a[i].c);
}
g<<k<<'\n';
for(int i=1; i<=n; ++i){
g<<ap[aux[i]]<<' ';
}
return 0;
}