Pagini recente » Cod sursa (job #2911087) | Cod sursa (job #925638) | Cod sursa (job #2081073) | Borderou de evaluare (job #1567483) | Cod sursa (job #2593970)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("sequencequery.in");
ofstream g("sequencequery.out");
int v[100001],n,m, a[2][100001];
f>>n>>m;
for(int i=1;i<=n;i++) f>>v[i];
for(int i=1;i<=m;i++) f>>a[0][i]>>a[1][i];
int pozi, pozj,maxsum, maxcurent, maxprev,j;
for(int i=1;i<=m;i++)
{
pozi=a[0][i];
pozj=a[1][i];
maxprev=v[pozi];maxsum=v[pozi];
for(j=pozi;j<=pozj;j++)
{
maxcurent = max(v[j], maxprev + v[j]);
if(maxcurent>maxsum) maxsum=maxcurent;
maxprev=maxcurent;
}
g<<maxsum<<endl;
}
}