Pagini recente » Cod sursa (job #1010723) | Borderou de evaluare (job #1115511) | Cod sursa (job #1000847) | Cod sursa (job #185000) | Cod sursa (job #1413417)
/*
* main.cpp
*
* Created on: Apr 1, 2015
* Author: Vlad
*/
#include <cstdio>
using namespace std;
const int nmax = 6000000;
int v[nmax + 1];
int main(int argc, char **argv) {
freopen("sequencequery.in", "r", stdin);
freopen("sequencequery.out", "w", stdout);
int n, m;
scanf("%d%d", &n, &m);
for (register int i = 1; i <= n; ++i) {
scanf("%d", &v[i]);
}
int x,y;
for (register int i = 1; i <= m; ++i) {
scanf("%d%d",&x,&y);
int sc, smax;
sc = smax = v[x];
for (register int j = x+1; j <= y; ++j) {
if (sc + v[j] >= v[j]) {
sc += v[j];
} else {
sc = v[j];
}
if (sc > smax) {
smax = sc;
}
}
printf("%d\n", smax);
}
}