Pagini recente » Cod sursa (job #720284) | Cod sursa (job #2538931) | Cod sursa (job #1050368) | Cod sursa (job #532426) | Cod sursa (job #1746153)
#include <fstream>
#include <algorithm>
#include <cmath>
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[31];
int cmp (a A, a B){ return (A.nr<B.nr); }
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=pow(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<<" ";
//for(i=1;i<=n;i++) fo<<x[i].nr<<" "<<x[i].cap<<" "<<x[i].initial<<" "<<x[i].folosite<<'\n';
return 0;
}