Cod sursa(job #253975)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 6 februarie 2009 13:57:57
Problema Caramizi Scor 40
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 1.01 kb
#include <cstdio>
#include <algorithm>
#define lm 200010
using namespace std;

long long s,  t, mx;
int n,m,r,L,l,c[lm];

int minim(int a, int b)
{
if (a>b) a=b;
return a;
}

int main()
{
          freopen("caramizi.in","r",stdin);
          freopen("caramizi.out","w",stdout);
          scanf("%d %d",&n,&m);
          int i, j, p;
          for (i=1; i<=n; i++) 
          {
                    scanf("%d",&c[i]);
                    s+=c[i];
          }
          sort(c+1,c+n+1);
          for (i=1; i<=m; i++)
          {
              scanf("%d",&L);
              l=L;
              mx=0;
              while (l>0)
              {
                         s=0;
                    for (j=1; j<=n; j++) 
                              s=s+minim(l,c[j]);
                    if (s/l*l>mx) mx=s/l*l;
                    l--;
                    }
              printf("%lld\n",mx);
              }
          fclose(stdin);
          fclose(stdout);
          return 0;
}