Cod sursa(job #1308012)

Utilizator cristi23ciulica cristian cristi23 Data 3 ianuarie 2015 12:34:49
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
struct shop{
    long long x;
    long long y;
    long long poz;
}a[31];
int cmp(shop a, shop b){
    return a.x>b.x;
}
long long i,p,k,n,z,s,act,q,sol[31],nr;
int main()
{
    f>>n>>k>>s;
    for(i=1;i<=n;i++){
        f>>a[i].x>>a[i].y;
        a[i].poz=i;
    }
    sort(a+1,a+n+1,cmp);
    p=1;
    for(i=1;i<=a[1].x;i++)
        p*=k;
    act=1;
    z=a[1].x;

    while(s>0){
            q=0;
        while(a[act].y>0&&p<=s){
            a[act].y--;
            s-=p;
            ++q;
        }
        nr+=q;
        sol[a[act].poz]=q;
        act++;
        for(i=z;i>a[act].x;i--)
            p/=k;
        z=i;
    }
    g<<nr<<'\n';
    for(i=1;i<=n;i++)
        g<<sol[i]<<' ';
    return 0;
}