Pagini recente » Cod sursa (job #1323726) | Cod sursa (job #309714) | Cod sursa (job #102259) | Cod sursa (job #2407397) | Cod sursa (job #2093446)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("shop.in");
ofstream fout ("shop.out");
pair <pair<long long,long long>,long long > v[40];
long long n,i,sol,nr,C,L,w[40],p[40];
int main (){
fin>>n>>C>>L;
for (i=1;i<=n;i++){
fin>>v[i].first.first>>v[i].first.second;
v[i].second = i;
}
sort (v+1,v+n+1);
/// calculam c^i
p[0] = 1;
for (i=1;i<=32;i++)
p[i] = p[i-1]* C;
for (i=n;i>=1;i--){
nr = min (L/p[v[i].first.first],v[i].first.second);
w[v[i].second] = nr;
L -= nr*(p[v[i].first.first]);
sol += nr;
if (L == 0)
break;
}
fout<<sol<<"\n";
for (i=1;i<=n;i++)
fout<<w[i]<<" ";
return 0;
}