Cod sursa(job #2157601)
| Utilizator | Data | 9 martie 2018 19:10:48 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
#include <limits>
using namespace std;
ifstream input("ssm.in");
ofstream print("ssm.out");
int V[6000001],s,maxim=INT_MIN,j;
pair<int,int>poz;
int main(){
int n;
input>>n;
for(int i=1;i<=n;i++)input>>V[i];
for(int i=1;i<=n;i++){
s+=V[i];
if(maxim<s){
maxim=s;
poz.first=j;
poz.second=i;
}
if(s<0){
s=0;
j=i+1;
}
}
print<<maxim<<" "<<poz.first<<" "<<poz.second;
return 0;
}
