Cod sursa(job #1220646)

Utilizator iordache.bogdanIordache Ioan-Bogdan iordache.bogdan Data 17 august 2014 23:10:25
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <algorithm>
#define DIMN 35

using namespace std;

ifstream f("shop.in");
ofstream g("shop.out");

struct data {
    long long a;
    long long b;
    long long poz;
} v[DIMN];

long long n, nn, l, c, p, k, sol;

long long P[DIMN], R[DIMN];

long long minim (long long x, long long y) {
    return ( x<y ? x : y );
}

bool cmp (const data &a, const data &b) {
    return b.a < a.a;
}

int main () {
    f >> n >> c >> l;
    p = 1;
    while (p<=l && k<=33) {
        P[k++] = p;
        p *= c;
    }
    for (int i=1; i<=n; ++i) {
        f >> v[i].a >> v[i].b;
        v[i].poz = i;
    }
    sort (v+1, v+n+1, cmp);
    for (int i=1; i<=n && l!=0; ++i) {
        nn = minim (l/P[v[i].a],v[i].b);
        R[v[i].poz] = nn;
        sol += nn;
        l -= nn * P[v[i].a];
    }
    g << sol << "\n";
    for (int i=1; i<=n; ++i)
        g << R[i] << " ";
    return 0;
}