Pagini recente » Cod sursa (job #2529619) | Cod sursa (job #73921) | Cod sursa (job #482057) | Cod sursa (job #1879931) | Cod sursa (job #1123192)
#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
int v[100100],N,M,l,r;
long long query(int l, int r)
{
long long s=0, ma=-200000;
for(int i=l;i<=r;++i)
{
if(v[i]>ma)
ma=v[i];
}
if(ma<0)
{
return ma;
}
for(int i=l;i<=r;++i)
{
s+=v[i];
if(s<0)
{
s = 0;
}
ma = max(ma,s);
}
return ma;
}
int main()
{
freopen("sequencequery.in","r",stdin);
freopen("sequencequery.out","w",stdout);
scanf("%d%d",&N,&M);
for(int i=1;i<=N;++i)
{
scanf("%d",&v[i]);
}
for(int i=1;i<=M;++i)
{
scanf("%d%d",&l,&r);
printf("%lld\n",query(l,r));
}
return 0;
}