Pagini recente » Cod sursa (job #3250783) | Cod sursa (job #3124125) | Cod sursa (job #2711282) | Rating Alex Campian (Santa-Claus) | Cod sursa (job #47606)
Cod sursa(job #47606)
#include <fstream>
#include <vector>
#include <cmath>
#define MAX 100
using namespace std;
int Minim(int a, int b)
{
if (a < b) return a;
else return b;
}
int main()
{
ifstream fin("shop.in");
ofstream fout("shop.out");
int n, a[MAX], b[MAX];
int l, c;
int maxim = 0;
fin >> n >> c >> l;
for (int i = 1; i <= n; i++)
fin >> a[i] >> b[i];
for (int i = 1; i <= n; i++)
if (maxim < a[i]) maxim = a[i];
int x = pow((double)c, (double)maxim);
int t;
// fout << ceil((double)l / (double)x) << "\n";
if ((double)l / (double)x - floor((double)l / (double)x) > 0.5) t = ceil((double)l / (double)x);
else t = floor((double)l / (double)x);
vector<int>v;
int sol = 0;
for (int i = 1; i <= n; i++)
{
sol += Minim(t, b[i]);
v.push_back(Minim(t, b[i]));
}
fout << sol << "\n";
for (int i = 0; i < v.size(); i++)
fout << v[i] << " ";
fout.close();
fin.close();
return 0;
}