Pagini recente » Cod sursa (job #2977596) | Cod sursa (job #605187) | Cod sursa (job #3232732) | Cod sursa (job #465672) | Cod sursa (job #718692)
Cod sursa(job #718692)
#include <algorithm>
#include <fstream>
#define nr second.first
#define ind second.second
#define min(a,b) (a)>(b)?(b):(a)
using namespace std;
pair<int,pair<int,int> > a[35];
long long c,s,p=1,i,n,pro[35],cont[35],nlr,k=1;
int main ()
{ifstream f("shop.in");
ofstream g("shop.out");
f>>n>>c>>s;
for(i=1;i<=n;i++)
{f>>a[i].first>>a[i].nr;
a[i].ind=i;}
sort(a+1,a+n+1);
for(i=0;i<=a[n].first;i++)
{if(i==a[k].first)
pro[k++]=p;
p*=c;}
for(i=n;i&&s;i--)
{cont[i]=min(a[i].nr,s/pro[i]);
s-=cont[i]*pro[i];
nlr+=cont[i];}
g<<nlr<<'\n';
for(i=1;i<=n;i++)
g<<cont[i]<<" ";
f.close(); g.close();
return 0;
}