Pagini recente » Cod sursa (job #1320314) | Cod sursa (job #3001314) | Cod sursa (job #1114239) | Cod sursa (job #1204440) | Cod sursa (job #2146755)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cuburi2.in");
ofstream fout("cuburi2.out");
long long n, m, i, j, x, y,k,nr,mi,z,a,b;
long long v[250001];
int mij(int x,int y,int mi)
{
nr=0;
for(i=x;i<mi;i++)
nr+=(i-x+1)*v[i];
for(j=mi+1;j<=y;j++)
nr+=(y-j)*v[j];
if(nr>0)return nr;
return 1000000;
}
int main()
{
fin>>n>>m;
//cout<<m;
for(i=1;i<=n;i++)
//{
fin>>v[i];
//cout<<v[i]<<" ";
//}
//cout<<endl;
for(z=1;z<=m;z++)
{
fin>>x>>y;
//cout<<x<<" "<<y<<" ";
//cout<<endl;
mi=(x+y)/2;
if((x+y)%2==0)
{
k=mij(x,y,mi);
//cout<<" a "<<k<<" ";
}
else
{
a=mij(x,y,mi);
//cout<<" b "<<a<<" ";
b=mij(x,y,mi+1);
// cout<<" b "<<b<<" ";
k=min(a,b);
//cout<<k<<" ";
}
if((x+y)%2==0)fout<<mi<<" "<<k<<endl;
else fout<<mi+1<<" "<<k<<endl;
//cout<<i<<" ";
}
return 0;
}