Pagini recente » Cod sursa (job #972942) | Cod sursa (job #1761166) | Cod sursa (job #1007328) | Cod sursa (job #1369239) | Cod sursa (job #2751049)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int main()
{
int N;
fin >> N;
int best = 0;
int raspuns = INT_MIN;
int start = 1;
int st, dr;
for(int i = 1; i <= N; i++){
int x;
fin >> x;
if(x > best + x){
best = x;
start = i;
}
else {
best = best + x;
}
if(best > raspuns){ //pt ca best se refera la best[i] de fapt
//unde best[i] inseamna cea mai buna subsecventa care se termina in i
raspuns = best;
st = start;
dr = i;
}
}
fout << raspuns << ' ' << st << ' ' << dr;
return 0;
}