Cod sursa(job #2164967)
Utilizator | Data | 13 martie 2018 10:37:00 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int i,j,n,I,J,Max;
int x[6000001],S[6000001];
int main ()
{
Max=-INT_MAX;
f>>n;
for(i=1;i<=n;i++){
f>>x[i];
}
for(i=1;i<=n;i++){
S[i]=S[i-1]+x[i];
}
for(i=n;i>=1;i--){
for(j=i-1;j>=0;j--){
if(S[i]-S[j]>Max){
Max=S[i]-S[j];
I=j+1;
J=i;
}
}
}
g<<Max<<" "<<I<<" "<<J;
return 0;
}