Cod sursa(job #1702247)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 14 mai 2016 20:30:55
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
# include <fstream>
# include <algorithm>
# define a first.first
# define b first.second
# define c second
using namespace std;
ifstream fin("shop.in");
ofstream fout("shop.out");
pair <pair<long long,long long>,long long> v[33];
long long d[33],sol[33],n,c,l,i,s;
int main () {
    fin>>n>>c>>l;
    for(i=1;i<=n;i++){
        fin>>v[i].a>>v[i].b;
        v[i].c=i;
    }
    sort(v+1,v+n+1);
    d[0]=1;
    for(i=1;i<=v[n].a;i++)
        d[i]=d[i-1]*c;
    i=n;
    while(l!=0){
        if(l/d[v[i].a]<v[i].b){
            sol[v[i].c]=l/d[v[i].a];
            l-=(l/d[v[i].a])*d[v[i].a];
        }
        else{
            sol[v[i].c]=v[i].b;
            l-=v[i].b*d[v[i].a];
        }
        s+=sol[v[i].c];
        i--;
    }
    fout<<s<<"\n";
    for(i=1;i<=n;i++)
        fout<<sol[i]<<" ";
    fout<<"\n";
    return 0;
}