Pagini recente » Borderou de evaluare (job #1431446) | Borderou de evaluare (job #1268611) | Borderou de evaluare (job #1431570) | Cod sursa (job #1431604) | Cod sursa (job #1308012)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
struct shop{
long long x;
long long y;
long long poz;
}a[31];
int cmp(shop a, shop b){
return a.x>b.x;
}
long long i,p,k,n,z,s,act,q,sol[31],nr;
int main()
{
f>>n>>k>>s;
for(i=1;i<=n;i++){
f>>a[i].x>>a[i].y;
a[i].poz=i;
}
sort(a+1,a+n+1,cmp);
p=1;
for(i=1;i<=a[1].x;i++)
p*=k;
act=1;
z=a[1].x;
while(s>0){
q=0;
while(a[act].y>0&&p<=s){
a[act].y--;
s-=p;
++q;
}
nr+=q;
sol[a[act].poz]=q;
act++;
for(i=z;i>a[act].x;i--)
p/=k;
z=i;
}
g<<nr<<'\n';
for(i=1;i<=n;i++)
g<<sol[i]<<' ';
return 0;
}