Pagini recente » Cod sursa (job #2601690) | Cod sursa (job #524041) | Cod sursa (job #1443157) | Cod sursa (job #645811) | Cod sursa (job #1935245)
#include<bits/stdc++.h>
using namespace std;
ifstream f("shop.in");
ofstream g("shop.out");
long long n,c;
long long l;
long long v1[70],a,b;
long long v2[70];
struct ar
{
long long val;
long long poz;
};
ar sol[73];
bool test(ar a,ar b)
{
return a.poz<b.poz;
}
int main()
{
f>>n>>c>>l;
for(long long i=1;i<=n;++i)
{
f>>a>>b;
v1[a]=b;
sol[a].poz=i;
}
long long q=0;
while(l)
{
v2[q]=l%c;
++q;
l/=c;
}
long long s=0;
for(long long i=71;i>=0;--i){
sol[i].val=min(v1[i],v2[i]);
s=s+sol[i].val;
long long a=min(v1[i],v2[i]);
v2[i]-=a;
v2[i-1]=v2[i]*c+v2[i-1];
}
sort(sol,sol+71,test);
g<<s<<'\n';
for(long long i=0;i<=71;++i)
if(sol[i].poz)
g<<sol[i].val<<" ";
return 0;
}