Pagini recente » Cod sursa (job #1895254) | Cod sursa (job #647702) | Cod sursa (job #1522793) | Cod sursa (job #2623487) | Cod sursa (job #956336)
Cod sursa(job #956336)
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
int n,c,l;
struct mnz{int a,b,s=0,p;};
mnz ttl[50];
bool mnzacmp(const mnz& m1,const mnz& m2)
{
return m1.a<m2.a;
}
bool mnzpcmp(const mnz& m1,const mnz& m2)
{
return m1.p<m2.p;
}
int main()
{
f>>n>>c>>l;
for(int i=0;i<n;i++){
int a,b;
f>>a>>b;
ttl[i].a=a;
ttl[i].b=b;
ttl[i].p=i;
}
sort(ttl,ttl+n,mnzacmp);
int nr=0;
for(int i=n-1;i>=0;i--){
while(l>=pow(c,ttl[i].a)&&ttl[i].b){
l-=pow(c,ttl[i].a);
ttl[i].s++;
ttl[i].b--;
nr++;
}
}
sort(ttl,ttl+n,mnzpcmp);
g<<nr<<'\n';
for(int i=0;i<n;i++)
g<<ttl[i].s<<" ";
return 0;
}