Pagini recente » Cod sursa (job #2179824) | Cod sursa (job #2158281) | Cod sursa (job #2096633) | Cod sursa (job #1980376) | Cod sursa (job #760302)
Cod sursa(job #760302)
using namespace std;
#include <iostream>
#include <fstream>
long long int n, C, L, a[50], b[50], v[50];
int index[50];
ifstream fin("shop.in");
ofstream fout("shop.out");
int main(){
fin >> n >> C >> L;
for(int i=1;i<=n;++i){
index[i] = i;
fin >> a[i] >> b[i];
v[i] = 1;
for(int j=1;j<=a[i];++j)
v[i] *= C;
}
for(int i=1;i<n;++i)
for(int j=i+1;j<=n;++j)
if(v[index[i]]<v[index[j]]){
int aux;
aux = index[i], index[i]=index[j], index[j] = aux;
}
for(int i =1;i<=n;++i)
a[i] = 0;
long long int s=0;
for(int i=1;L>0 && i<=n;++i){
long long int t = L/v[index[i]] , rez;
if ( t < b[ index[i] ] )
rez = t;
else
rez = b[ index[i] ];
a[index[i]] = rez;
s += rez;
L -= rez * v[index[i]];
}
fout << s << "\n";
for(int i=1;i<=n;++i)
fout << a[i] << " ";
return 0;
}