Cod sursa(job #47606)

Utilizator GabiAlb Gabriel Gabi Data 3 aprilie 2007 20:36:39
Problema Shop Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#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;
}