Cod sursa(job #1413417)

Utilizator VAIonescuIonescu Vlad-Andrei VAIonescu Data 1 aprilie 2015 21:00:36
Problema SequenceQuery Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
/*
 * 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);
	}
}