Cod sursa(job #1333718)

Utilizator forever16Alex M forever16 Data 3 februarie 2015 15:18:50
Problema Shop Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include<fstream>
#include<algorithm>
#include<math.h>
using namespace std;
    ifstream f("shop.in");
    ofstream g("shop.out");
int n, c,d[35], nr=0;
long long l;

struct puncte{int a,b,x;} q[35];

int val(int x)
{   long long s=1;
for(int i=1; i<=x; i++) s*=c;
return s;
}

bool cmp(puncte c,puncte d)
{     return c.a>d.a; }

int main()
{   f>>n>>c>>l;
for(int i=1; i<=n; i++)
    f>>q[i].a>>q[i].b, q[i].x=i;
sort(q+1, q+n+1, cmp); nr=0;
for(int i=1; i<=n; i++)
{ int nr1=0; long long s=val(q[i].a);
 while(l-s>=0 and q[i].b>0) l-=s, q[i].b--,nr1++;
 //cout<<l<<" "<<s<<" "<<aux<<" "<<nr1<<" "<<"\n";
 d[q[i].x]=nr1; nr+=nr1;}

g<<nr<<"\n";
for(int i=1; i<=n; i++) g<<d[i]<<" ";
    return 0;
}