Pagini recente » Cod sursa (job #57780) | Cod sursa (job #2991212) | Cod sursa (job #1357529) | Cod sursa (job #1358519) | Cod sursa (job #1680685)
#include <stdio.h>
#include <vector>
#include <iostream>
using namespace std;
int main() {
int N = 0;
vector<int> v;
FILE * fin = fopen("ssm.in", "r");
FILE * fout = fopen("ssm.out", "w");
fscanf(fin, "%d", &N);
v.resize(N);
for (int i = 0; i < N; i++){
fscanf( fin, "%d\n", &v[i] );
}
if(v.size() == 1){
fprintf(fout, "%d 1 1\n", v[0]);
return 0;
}
int best0 = 0, indi = 0, inds = 0, cindi, cinds;
unsigned int i;
int max = v[0];
int best_1 = v[0];
for(i = 1; i < v.size(); i++){
if(best_1 >= 0){
best0 = best_1 + v[i];
if(v[i] > 0){
cinds = i;
}
}else{
best0 = v[i];
cindi = i; cinds = i;
}
if(best0 > max){
max = best0;
indi = cindi;
inds = cinds;
}
best_1 = best0;
}
fprintf(fout, "%d %d %d\n", max, indi+1, inds+1);
fclose(fin);
fclose(fout);
return 0;
}