Cod sursa(job #1704984)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 19 mai 2016 19:05:50
Problema Shop Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#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;
}