Pagini recente » Cod sursa (job #118670) | Cod sursa (job #117843) | Cod sursa (job #118029) | Cod sursa (job #1098751) | Cod sursa (job #253844)
Cod sursa(job #253844)
#include<iostream.h>
#include<fstream.h>
int main()
{
int n,m,c[12000],x[12000],z,k,temp,i,j,l,count;
long int tot,sum,sumprim;
fstream f,g;
f.open("caramizi.in",ios::in);
g.open("caramizi.out",ios::out);
f>>n>>m;
tot=0;
for(i=1;i<=n;i++)
{
f>>c[i];
tot+=c[i];
}
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(c[i]<c[j])
{
temp=c[j];
c[j]=c[i];
c[i]=temp;
}
for(k=1;k<=m;k++)
{
f>>l;
sum=0;
for(z=n;z*l>=sum;z--)
{
for(i=1;i<=n;i++)
x[i]=c[i];
count=1;
sumprim=0;
while(x[z]>0&&count<=l)
{
count++;
for(i=1;i<=z;i++)
{
x[i]--;
sumprim++;
}
if(sumprim>sum)
sum=sumprim;
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(x[i]<x[j])
{
temp=x[j];
x[j]=x[i];
x[i]=temp;
}
}
}
g<<sum<<endl;
}
f.close();
g.close();
return 0;
}