Pagini recente » Cod sursa (job #3311650) | Cod sursa (job #1763803) | Cod sursa (job #1603430) | Cod sursa (job #2429758) | Cod sursa (job #3309326)
//var dinamica
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int v[6000003], smax[6000003];
int main(){
int n;
fin >> n;
for (int i = 1; i <= n; i++){
fin >> v[i];
}
int best = v[1], st, dr, x=1;
for (int i = 1; i <= n; i++){
smax[i] = max(v[i], smax[i - 1] + v[i]);
if (smax[i] == v[i] && smax[i-1]<0)
x = i;
if (smax[i] >= best){
best = smax[i];
st=x;
dr = i;
}
best = max(best, smax[i]);
}
fout << best << " " << st << " " << dr;
return 0;
}