Cod sursa(job #1935245)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 22 martie 2017 09:07:22
Problema Shop Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#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;
}