Pagini recente » Cod sursa (job #497750) | Cod sursa (job #1715151) | Cod sursa (job #2071367) | Cod sursa (job #63048) | Cod sursa (job #1704984)
#include <algorithm>
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("shop.in");
ofstream out("shop.out");
struct per
{
int x;
long long y;
int z;
};
per v[35];
long long rez[35];
inline bool cmp(per a, per b)
{
if(a.x > b.x)
return true;
return false;
}
int main()
{
int n, c, l;
in >> n >> c >> l;
for(int i = 1; i <= n; i++)
{
in >> v[i].x >> v[i].y;
v[i].z = i;
}
sort(v + 1, v + n + 1, cmp);
//reverse(v + 1, v + n + 1);
int nr = 0;
for(int i = 1; i <= n; i++)
{
int put = 1;
for(int j = 1; j <= v[i].x; j++)
put = put * c;
rez[v[i].z] = v[i].y;
rez[v[i].z] = min(rez[v[i].z], (long long)l / put);
l = l - rez[v[i].z] * put;
nr += rez[v[i].z];
}
out << nr << "\n";
for(int i = 1; i <= n; i++)
out << rez[i] << " ";
out << "\n";
return 0;
}