Pagini recente » Cod sursa (job #194445) | Cod sursa (job #689464) | Cod sursa (job #657779) | Cod sursa (job #2690280) | Cod sursa (job #2415789)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
struct el{
long long val;
long long numar;
int poz;
}a[100];
int n;
long long c,vec[100],l,x,val[100],total;
bool cmp(el A,el B){
return (A.val>B.val);
}
int main()
{
f>>n>>c>>l;
vec[0]=1;
for(int i=1;i<=32;++i){
vec[i]=vec[i-1]*c;
if(vec[i]>=l) break;
}
for(int i=1;i<=n;++i){
f>>x>>a[i].numar;
a[i].val=vec[x];
a[i].poz=i;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;++i){
x=min(l/a[i].val,a[i].numar);
val[a[i].poz]=x;
total+=x;
l=l-x*a[i].val;
}
g<<total<<'\n';
for(int i=1;i<=n;++i){
g<<val[i]<<" ";
}
}