Pagini recente » Cod sursa (job #2976796) | Cod sursa (job #2436687) | Cod sursa (job #1400086) | Cod sursa (job #2529277) | Cod sursa (job #253817)
Cod sursa(job #253817)
#include<stdio.h>
long n,m;
long long sum;
long v[200010];//v[200010];
void read()
{
freopen("caramizi.in","r",stdin);
freopen("caramizi.out","w",stdout);
scanf("%ld%ld",&n,&m);
long i,j;
for(i=1;i<=n;i++)
{
scanf("%ld",&v[i]);
sum=sum+v[i];
}
}
void rez()
{
long t,li,suma,scz,csum,max,i,j;
for(t=1;t<=m;t++)
{
scz=0;
csum=sum;
scanf("%ld",&li);
max=0;
suma=0;
for(i=1;i<=n;i++)
{
suma=suma+v[i];
if(v[i]>li)
suma=suma-v[i]+li;
}
sum=suma;
for(j=li;j>=1;j--)
{
csum=sum;
csum=csum-scz;
csum=csum-(csum%j);
if(max<csum)
max=csum;
scz=0;
for(i=1;i<=n;i++)
if(v[i]>(j-1))
{
scz=scz+v[i]-j+1;
}
}
printf("%ld\n",max);
}
}
int main()
{
read();
rez();
return 0;
}