Pagini recente » Cod sursa (job #378066) | Cod sursa (job #1440271) | Cod sursa (job #2448792) | Cod sursa (job #1986366) | Cod sursa (job #254444)
Cod sursa(job #254444)
#include <iostream.h>
#include <fstream.h>
int main()
{
ifstream f("cuburi2.in");
ofstream g("cuburi2.out");
long h[100000],tm;
int n,m,poz,i,j,x,y,min,k;
f>>n>>m;
for(i=1;i<=n;i++)
f>>h[i];
for(i=1;i<=m;i++)
{
f>>x>>y;
if(y-x==1)
{
if(h[x]>h[y])
g<<x<<" "<<h[y]<<"\n";
else
g<<y<<" "<<h[x]<<"\n";
}
else
{
min=32000;
for(k=x;k<=y;k++)
{
if(k==x)
{
tm=0;
for(j=k+1;j<=y;j++)
tm=tm+h[j]*(j-k);
if(tm<min)
{
min=tm;
poz=k;
}
}
else
{
if(k==y)
{
tm=0;
for(j=x;j<y;j++)
tm=tm+(k-j)*h[j];
if(tm<min)
{
min=tm;
poz=k;
}
}
else
{
tm=0;
for(j=x;j<=k-1;j++)
tm=tm+(k-j)*h[j];
for(j=k+1;j<=y;j++)
tm=tm+h[j]*(j-k);
if(tm<min)
{
min=tm;
poz=k;
}
}
}
}
g<<poz<<" "<<min<<"\n";
}
}
}