Pagini recente » Cod sursa (job #3259512) | Cod sursa (job #3127533) | Cod sursa (job #369979) | Cod sursa (job #131039) | Cod sursa (job #1668625)
#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;
}