Cod sursa(job #718691)

Utilizator bacilaBacila Emilian bacila Data 20 martie 2012 23:28:08
Problema Shop Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#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;
}