Pagini recente » Diferente pentru utilizator/mathboy intre reviziile 59 si 58 | Cod sursa (job #1434912) | Monitorul de evaluare | Cod sursa (job #279264) | Cod sursa (job #750887)
Cod sursa(job #750887)
#include <iostream>
#include <fstream>
using namespace std;
#define inf (1<<30)
int n, bst, suma, st, dr, temp;
int main(){
ifstream f("ssm.in");
ofstream g("ssm.out");
bst = -inf;
f >> n;
for(int i=1; i<=n; i++){
int x;
f >> x;
if (suma + x < x) suma = x, temp = i;//daca obtin o suma mai mica ca si x incep o noua subsecventa
else suma += x;//altfel o continui pe cea actuala actualizand`o cu x
if (bst < suma){
bst = suma;
st = temp;
dr = i;
}
}
g << bst << " " << st << " " << dr << "\n";
f.close();
g.close();
return 0;
}