Pagini recente » Cod sursa (job #1694045) | Cod sursa (job #232418) | Cod sursa (job #818738) | Rating UNIBUC Vlad Miclaus Trepteanu (Tracttoria) | Cod sursa (job #1746157)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fi("shop.in");
ofstream fo("shop.out");
int n,c,i,j,s,poz,monezi;
struct a {int nr;int cap;int initial;int folosite;} x[40];
int cmp (a A, a B){ return A.nr<B.nr; }
int putere(int baza, int expon)
{if(expon==0) return 1;
int rez=1;
for(int i=1;i<=expon;i++) rez*=baza;
return rez;
}
int main()
{
fi>>n>>c>>s;
for(i=1;i<=n;i++) {fi>>x[i].nr>>x[i].cap;
x[i].initial=i;
}
sort(x+1,x+n+1,cmp);
for(i=1;i<=n;i++) x[i].nr=putere(c,x[i].nr);
poz=n;
while(s)
{ while(x[poz].cap>=1 and s-x[poz].nr>=0) {s-=x[poz].nr;
x[poz].cap--;
x[poz].folosite++;
monezi++;}
poz--;
}
fo<<monezi<<'\n';
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(x[j].initial==i) fo<<x[j].folosite<<" ";
//fo<<'\n';
//for(i=1;i<=n;i++) fo<<x[i].nr<<" "<<x[i].cap<<" "<<x[i].initial<<" "<<x[i].folosite<<'\n';
return 0;
}