Pagini recente » Cod sursa (job #1415733) | Cod sursa (job #1445633) | Cod sursa (job #1732684) | Cod sursa (job #164446) | Cod sursa (job #1333714)
#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];
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;
while(l-pow(c, q[i].a)>=0 and q[i].b>0) l-=pow(c,q[i].a), 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;
}