Pagini recente » Cod sursa (job #2977390) | Cod sursa (job #2714369) | Cod sursa (job #1233349) | Cod sursa (job #1715489) | Cod sursa (job #2170635)
#include <bits/stdc++.h>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
unsigned long long L;
int n,c,monezif,mu[32];
struct moneda{int v,a,poz;}monezi[100000001];
int cmp(moneda a, moneda b)
{
return (a.v>b.v);
}
int main()
{
int i;
f>>n>>c>>L;
for(i=1;i<=n;i++)
{
f>>monezi[i].v>>monezi[i].a;
monezi[i].poz=i;
}
sort(monezi+1,monezi+n+1,cmp);
for(i=1;i<=n && L>0;i++)
{
int valoare=1<<monezi[i].v;//2 la puterea monezi[i].v
int cat=L/valoare;
int amin=min(cat,monezi[i].a);
if(amin>0)
{
monezif+=amin;
mu[monezi[i].poz]=amin;
L=L-amin*valoare;
}
}
g<<monezif<<'\n';
for(i=1;i<=n;i++)
g<<mu[i]<<' ';
f.close();
g.close();
return 0;
}