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