Cod sursa(job #254579)
Utilizator | Data | 7 februarie 2009 13:02:56 | |
---|---|---|---|
Problema | Cuburi2 | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Stelele Informaticii 2009, clasele 9-10, ziua 2 | Marime | 0.99 kb |
#include <cstdio>
#define lm 3000
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;
}