Pagini recente » Cod sursa (job #540657) | Cod sursa (job #2378260) | Borderou de evaluare (job #2971569) | Cod sursa (job #2547996) | Cod sursa (job #253961)
Cod sursa(job #253961)
#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;
}