Cod sursa(job #254640)

Utilizator gabor_oliviu1991gaboru corupt gabor_oliviu1991 Data 7 februarie 2009 13:27:29
Problema Cuburi2 Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 2 Marime 0.82 kb
#include<fstream.h>

int n,m,a[5000][5000],vect[5000],i,j,s,min,x,y,k;

int modul(int k,int p)
{
	if(k-p<0)
		return -(k-p);
	else
		return (k-p);
}

int main()
{
	ifstream f("cuburi2.in");
	ofstream g("cuburi2.out");

	f>>n>>m;
	for(i=1;i<=n;i++)
		f>>vect[i];
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			if(i==j)
				a[i][j]=vect[j];
			else
				a[i][j]=vect[j]*modul(j,i);
	for(i=1;i<=n;i++)
	{
	s=0;
		for(j=1;j<=n;j++)
			if(i==j)
				a[i][j]=0;
			else
			{
			s+=a[i][j];
			a[i][j]=s;
			}
	}
	for(i=1;i<=m;i++)
	{
		f>>x>>y;
		min=100000;
		for(j=x;j<=y;j++)
			if(a[j][y]-a[j][x-1]<min&&j!=y)
				{
				min=a[j][y]-a[j][x-1];
				k=j;
				}
			else
				if(a[j][y-1]-a[j][x-1]<min&&j==y)
				{
				min=a[j][y-1]-a[j][x-1];
				k=j;
				}
		g<<k<<" "<<min<<"\n";
	}
return 0;
}