Cod sursa(job #254288)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 7 februarie 2009 10:36:36
Problema Cuburi2 Scor 15
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.78 kb
#include <stdio.h>
#define N 250005
#define MAX 20000000
int n,m,v[N];
void citire()
{
	int i;
	scanf("%d%d",&n,&m);
	for (i=1; i<=n; i++)
		scanf("%d",&v[i]);
}
int modul(int x,int y)
{
	if (x>y)
		return x-y;
	return y-x;
}
int operatie(int x,int y,int k)
{
	int i,s=0;
	for (i=x; i<=y; i++)
	{
		s+=v[i]*modul(i,k);
	}
	return s;
}
int calcul(int x,int y)
{
	int turn,i,pozmin=0,min,t;
	min=MAX;
	for (i=x; i<=y; i++)
	{
		t=operatie(x,y,i);
		if (t<min)
		{
			min=t;
			pozmin=i;
		}
	}
	printf("%d %d\n",pozmin,min);
}
void rezolvare()
{
	int i,x,y;
	for (i=1; i<=m; i++)
	{
		scanf("%d%d",&x,&y);
		calcul(x,y);
	}
}
int main()
{
	freopen("cuburi2.in","r",stdin);
	freopen("cuburi2.out","w",stdout);
	citire();
	rezolvare();
	return 0;
}