Cod sursa(job #1668625)

Utilizator valentin11cCraciun Valentin-Gabriel valentin11c Data 29 martie 2016 22:13:54
Problema Shop Scor 100
Compilator cpp Status done
Runda oni-simulare-7-8-9-10-db Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

ifstream f("shop.in");
ofstream g("shop.out");
long long l,c,n,sol[100],soll;

struct str
{
    long long ai,bi,ind;
}a[101];


void citire()
{
    f>>n>>c>>l;
    for(int i=1;i<=n;i++)
    {
        f>>a[i].ai>>a[i].bi;a[i].ind=i;
    }
}
bool comp(str x,str y)
{
    return (x.ai>y.ai);
}
long long putere( long long x,long long y)
{
    long long p=1;
    for(int i=1;i<=y;i++) p*=x;
    return (long long) p;
}
void solve()
{
    sort(a+1,a+n+1,comp);
    long long nr;
    for(int i=1;i<=n;i++)
    {
        nr=(long long) putere(c,a[i].ai);
        sol[a[i].ind]=(long long) min(a[i].bi,l/nr);
        soll+=sol[a[i].ind];
        l-=(long long) nr*sol[a[i].ind];
    }
}

int main()
{
    citire();
    solve();
    g<<soll<<"\n";
    for(int i=1;i<=n;i++) g<<(long long )sol[i]<<" ";
    return 0;
}