Cod sursa(job #2181769)

Utilizator NashikAndrei Feodorov Nashik Data 21 martie 2018 20:36:37
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
//#include <iostream>
#include <fstream>
#include <algorithm>
int n, c, f[35], i, j, nrm, minim[35];
long long l, s, wer, p, tot;
struct ches{
    int a, b;
}v[100];
int comp(ches x,ches y){
    return x.a>y.a;
}
int main(){
    std::ifstream cin("shop.in");
    std::ofstream cout("shop.out");
    cin>>n>>c>>l;
    for (i=0;i<n;i++){
        cin>>v[i].a>>v[i].b;
        f[i]=v[i].a;
    }
    std::sort(v,v+n,comp);
    s=l;
    i=0;
    while (s>0){
        wer=s/pow(c,v[i].a);
        if(wer<v[i].b)
            nrm=wer;
        else
            nrm=v[i].b;
        p=nrm*pow(c,v[i].a);
        if (s-p>=0){
            s-=p;
            minim[i]=nrm;
            tot+=nrm;
        }
        i++;
    }
    cout<<tot<<"\n";
    for (i=0;i<n;i++){
        s=0;
        for (j=0;j<n&&s==0;j++)
            if(f[i]==v[j].a){
                cout<<minim[j]<<" ";
                s=1;
            }
    }
    return 0;
}