Cod sursa(job #253961)

Utilizator thebest001Neagu Rares Florian thebest001 Data 6 februarie 2009 13:54:39
Problema Caramizi Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 0.94 kb
#include <stdio.h>
#include <values.h>

long c[501];
long m,n;
int partionare(int st,int dr)
{
	int m=(st+dr)/2,p=c[m],i=st-1,j=dr+1,aux=0;
	while (1)
	{
		while (c[++i]<p);
		while (c[--j]>p);
		if (i<j)
		{
			aux=c[i];
			c[i]=c[j];
			c[j]=aux;
		}
		else
		return j;
	}
}

void qsort(int st,int dr)
{
	if (st<dr)
	{
		int p=partionare(st,dr);
		qsort(st,p);
		qsort(p+1,dr);
	}
}

int cate(int cc,int l)
{
	long long suma=0;
	int i;
	if (cc==1)
	{
		for (i=1;i<=n;i++)
		{
			suma+=c[i];
			if (suma>l)
				return l;
		}
	}
	return 0;
}
int main()
{
	freopen("caramizi.in","r",stdin);
	freopen("caramizi.out","w",stdout);
	scanf("%ld %ld",&m,&n);
	long l,min=MAXLONG;
	int i;
	for (i=1;i<=n;i++)
	{
		scanf("%ld",&c[i]);
		if (c[i]<min)
			min=c[i];
	}
	qsort(1,n);
	for (i=1;i<=m;i++)
	{
		scanf("%ld",&l);
		if (min>l)
		{
			printf("%lld",(long long)l*(long long)n);
		}

	}
	return 0;
}