Pagini recente » Cod sursa (job #629300) | Cod sursa (job #710209) | Cod sursa (job #3237539) | Cod sursa (job #759374) | Cod sursa (job #2831960)
#include <fstream>
#include <vector>
#include <queue>
#include <climits>
using namespace std;
ifstream cin("sequencequery.in");
ofstream cout("sequencequery.out");
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
int n,m;
vector<int> v;
void read(){
cin>>n>>m;
v.resize(n+1);
for(int i=1;i<=n;i++){
cin>>v[i];
}
}
void solve(){
queue<int> rez;
int x,y,sum=0,sumMax=0;
for(int i=1;i<=m;i++){
cin>>x>>y;
sum=v[x];
sumMax=sum;
FOR(j,x+1,y){
if(v[j]<sum+v[j]){
sum+=v[j];
}
else{
sum=v[j];
}
if(sumMax<sum){
sumMax=sum;
}
}
rez.push(sumMax);
}
while(!rez.empty()){
cout<<rez.front()<<"\n";
rez.pop();
}
}
int main() {
read();
solve();
return 0;
}