Cod sursa(job #254518)

Utilizator mariusdrgdragus marius mariusdrg Data 7 februarie 2009 12:38:33
Problema Cuburi2 Scor 20
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.61 kb
#include<stdio.h>

const int maxn = 300000;

int N,M,V[maxn];

inline int abs(int x){return x > 0 ? x : -x;}

int main()
{
	freopen("cuburi2.in","r",stdin);
	freopen("cuburi2.out","w",stdout);
	scanf("%d %d\n",&N,&M);
	for(int i = 1;i <= N; ++i)
		scanf("%d ",&V[i]);
	for(int i = 1;i <= M; ++i)
	{
		int st,dr;
		scanf("%d %d\n",&st,&dr);
		int solmin = 1000000000,pozmin = 0;
		for(int j = st;j <= dr; ++j)
		{
			int sumcur = 0;
			for(int k = st;k <= dr; ++k)
			{
				sumcur += (abs(k - j) * V[k]);	
			}
			if (solmin > sumcur) {solmin = sumcur;pozmin = j;}
		}
		printf("%d %d\n",pozmin,solmin);
	}
	return 0;
}