Cod sursa(job #37670)

Utilizator cristian_alex_81cristian alexandru cristian_alex_81 Data 25 martie 2007 11:44:30
Problema Shop Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 4, Clasa a 9-a si gimnaziu Marime 0.78 kb
#include <fstream.h>
#include <math.h>

int b[30],e[30];

int main ()
{

long double l,a[30],x;
int n,c,i,nr,d[30];

ifstream f("shop.in");
ofstream g("shop.out");

f>>n;
f>>c;
f>>l;

for (i=0;i<n;i++)
{
f>>nr;
a[i]=pow(c,nr);
f>>b[i];
d[i]=i;
}

int ct=1,y;

while (ct!=0)
{
	for (i=0;i<n-1;i++)
	{
		if (a[i]>a[i+1])
		{
		x=a[i];
		y=b[i];
		b[i]=b[i+1];
		a[i]=a[i+1];
		d[i]=i+1;
		d[i+1]=i;
		b[i+1]=y;
		a[i+1]=x;
		ct=1;
		}
		else
		{
		ct=0;
		}
	}

}

ct=0;
int m=n;

while (l!=0)
{
	if ((l-a[n-1]>=0)&&(b[n-1]!=0))
	{
	l=l-a[n-1];
	ct++;
	b[n-1]--;
	e[n-1]++;
	}
	else
	{
	n--;
	}

}
g<<ct<<endl;
int j;
for(i=0;i<m;i++)
	if (e[d[i]]!=0)
	   g<<e[d[i]]<<" ";


g.close ();
f.close ();

return 0;
}