Pagini recente » Monitorul de evaluare | Cod sursa (job #2701414) | Cod sursa (job #693733) | Cod sursa (job #1775981) | Cod sursa (job #1729664)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
long long n,l,c,ans,i,j,sol[102];
struct str
{
long long a,b,p;
};
bool sortare(str a, str b){
return a.a>b.a;
}
str v[101];
int main()
{
ifstream cin("shop.in");
ofstream cout("shop.out");
cin>>n>>c>>l;
for(i=1;i<=n;i++)
{
v[i].p=i;
cin>>v[i].a>>v[i].b;
}
sort(v+1,v+1+n,sortare);
for(i=1;i<=n;i++)
{
long long put=1;
for(j=1;j<=v[i].a;j++)
put=put*c;
sol[v[i].p]+=min(v[i].b,l/put);
l-=put*sol[v[i].p];
ans+=sol[v[i].p];
}
cout<<ans<<"\n";
for(i=1;i<=n;i++)
cout<<sol[i]<<" ";
return 0;
}