Cod sursa(job #254593)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 7 februarie 2009 13:08:05
Problema Cuburi2 Scor 20
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.99 kb
#include <cstdio>
#define lm 2000

int a[lm][lm], v[lm], n,m,i,j,x,y,p;
long min;

int main()
{
        freopen("cuburi2.in","r",stdin);
        freopen("cuburi2.out","w",stdout);
        scanf("%d %d",&n,&m);
        for (i=1; i<=n; i++) scanf("%d",&v[i]);
        int k;
        for (j=1; j<=n; j++)
        {
                for (i=1; i<=n; i++)
                {
                        k=i-j;
                        if (k<0) k=-k;
                        a[i][j]=a[i-1][j]+k*v[i];
                }
        }
        for (i=1; i<=m; i++)
        {
                scanf("%d %d",&x,&y);
                min=1<<30;
                for (j=x; j<=y; j++)
                        if (a[y][j]-a[x-1][j]<min)
                        {
                                min=a[y][j]-a[x-1][j];
                                p=j;
                        }
                printf("%d %ld\n",p,min);
        }

        fclose(stdin);
        fclose(stdout);
        return 0;
}