Pagini recente » Cod sursa (job #10413) | Cod sursa (job #2255039) | Cod sursa (job #639986) | Cod sursa (job #1445478) | Cod sursa (job #253932)
Cod sursa(job #253932)
#include <stdio.h>
#define N 200005
#include <stdlib.h>
int n,m,c[N],s=0;
int compar(const void*p,const void*q)
{
return ( *(int*)p - *(int*)q );
}
void citire()
{
int i;
scanf("%d%d",&n,&m);
for (i=1; i<=n; i++)
{
scanf("%d",&c[i]);
s+=c[i];
}
qsort(c+1,n,sizeof(c[0]),compar);
}
void rezolvare()
{
int i,x,solutie,t,caut,s_part,r;
t=n;
for (i=1; i<=m; i++)
{
scanf("%d",&x);
printf("%d ",x);
solutie=0;
if (c[1]>=x)
printf("%d\n",x*n);
else
{
//while(solutie==0)
//{
s_part=0;
for (i=1; i<=n; i++)
{
if (s_part<x && (s_part+c[i]>x))
{
r=i;
break;
}
else
s_part+=c[i];
}
if (s_part<=c[r])
{
printf("%d\n",s_part*(n-r+2));
// break;
}
else
{
printf("%d\n",c[r]*(n-r+2));
// break;
}
//}*/
}
}
}
int main()
{
freopen("caramizi.in","r",stdin);
freopen("caramizi.out","w",stdout);
citire();
rezolvare();
return 0;
}