Cod sursa(job #1015680)

Utilizator enedumitruene dumitru enedumitru Data 24 octombrie 2013 22:37:38
Problema Shop Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("shop.in"); ofstream g("shop.out");
int n,C,sol[35];
long long L;
struct art {long long val; int nr,tip;} M[35];
bool cmp(art x, art y)
{	return x.val>y.val;}
int main()
{   f>>n>>C>>L;
    for(int a,b,i=1;i<=n;i++)
    {	f>>a>>b;
        M[i].val=1;
        for(int j=1;j<=a;j++) M[i].val*=C;
        M[i].nr=b; M[i].tip=i;
    }
    sort(M+1,M+1+n,cmp);
    for(int i=1;i<=n && L;i++)
    if(M[i].val<=L)
    {   int aux=L/M[i].val,S=min(aux,M[i].nr);
        sol[0]+=S; sol[M[i].tip]+=S; L-=(M[i].val*S);
    }
    g<<sol[0]<<'\n';
    for(int i=1;i<=n;i++) g<<sol[i]<<' ';
	g<<'\n'; g.close(); return 0;
}