Pagini recente » Cod sursa (job #1883684) | Cod sursa (job #1858282) | Cod sursa (job #1681488) | Cod sursa (job #2410015) | Cod sursa (job #2146695)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cuburi2.in");
ofstream fout("cuburi2.out");
long long n, m, i, x, y,k,nr,mi;
long long v[250001];
void mij(int x,int y,int mi)
{
nr=0;
for(i=x;i<mi;i++)
nr+=(mi-i+1)*v[i];
for(i=mi;i<y;i++)
nr+=(y-i+1)*v[i];
}
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
fin>>v[i];
for(i=1;i<=m;i++)
{
fin>>x>>y;
mi=(x+y)/2;
if((x+y)%2==0){mij(x,y,mi);k=nr;}
else {mij(x,y,mi);k=nr;mij(x,y,mi+1);if(nr<k)mi=nr;
else mi=k;}
if((x+y)%2==0)fout<<mi<<" "<<k<<endl;
else fout<<mi+1<<" "<<k<<endl;
}
return 0;
}