Pagini recente » Cod sursa (job #110169) | Cod sursa (job #1940744) | Cod sursa (job #2745056) | Cod sursa (job #2420281) | Cod sursa (job #1702235)
# include <fstream>
# define f first
# define s second
using namespace std;
ifstream fin("shop.in");
ofstream fout("shop.out");
pair <int,int> sor[33],v[33];
int n,i,maxim,poz;
long long d[33],sol[33],l,val,nr,k,var,s;
int main () {
fin>>n>>val>>l;
for(i=1;i<=n;i++){
fin>>v[i].f>>v[i].s;
sor[i].f=v[i].f;
sor[i].s=i;
}
sort(sor+1,sor+n+1);
maxim=v[n].f;
d[0]=1;
for(i=1;i<=maxim;i++)
d[i]=d[i-1]*val;
i=n;
while(l!=0){
poz=sor[i].s;
var=d[sor[i].f];
if(v[poz].s<l/var){
sol[poz]=v[poz].s;
l-=v[poz].s*var;
}
else{
sol[poz]=l/var;
l-=(l/var)*var;
}
s+=sol[poz];
i--;
}
fout<<s<<"\n";
for(i=1;i<=n;i++)
fout<<sol[i]<<" ";
fout<<"\n";
return 0;
}