Cod sursa(job #1168304)

Utilizator tudormaximTudor Maxim tudormaxim Data 7 aprilie 2014 22:15:10
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>

using namespace std;

ifstream in("shop.in");
ofstream out("shop.out");
const int pmax= 60;
const int nmax= 30;

long long  p[pmax+1], sol[nmax+1];
int a[nmax+1], b[nmax+1];

int main()
{
    long long n, c, l;
    int i,k=0,max,j,pos,m;
    in>>n>>c>>l;
    p[0]= 1;
    for (i=1;p[i-1]<=l;i++)
    {
        p[i]= p[i-1]*c;
    }

    for (i=1;i<=n;i++)
    {
        in>>a[i]>>b[i];
    }
    for (i=1;i<=n&&l>0;i++ )
    {
        max=-1, pos=0;
        for (j=1;j<=n;j++ )
        {
            if ( a[j]>max )
            {
                max= a[j];
                pos=j;
            }
        }
        m= l/p[a[pos]];
        sol[pos]= b[pos];
        if ( m<sol[pos] )
        {
            sol[pos]= m;
        }
        k+=sol[pos];
        l=l-sol[pos]*p[a[pos]];
        a[pos]= b[pos]= -1;
    }
    out<<k<<"\n";
    for (i=1;i<=n;i++)
    {
        out<<sol[i]<<" ";
    }
    out<<"\n";
    in.close();
    out.close();
    return 0;
}