Pagini recente » Cod sursa (job #2846208) | Cod sursa (job #1866480) | Cod sursa (job #3145388) | Cod sursa (job #802830) | Cod sursa (job #2276026)
#include<stdio.h>
#include<iostream>
#include<fstream>
using namespace std;
int S;
int i1,i2;
int maxS, maxBegin, maxEnd;
void sumamaxima(int* a,int n){
maxS=a[0], maxBegin=0, maxEnd=0;
int crtS=a[0], prevBegin=0;
for(int i=1;i<n;i++){
if(crtS<0)
crtS=a[i], prevBegin=i;
else
crtS+=a[i];
if(crtS>maxS)
maxS=crtS, maxBegin=prevBegin, maxEnd=i;
}
}
int main(){
int N;
ifstream input("ssm.in");
ofstream output("ssm.out");
input >> N;
int* v=new int[N];
for(int i=0;i<N;i++){
input >> v[i];
}
sumamaxima(v,N);
output << maxS << " ";
output << maxBegin+1 << " ";
output << maxEnd+1;
input.close();
output.close();
return 0;
}