Cod sursa(job #786754)
Utilizator | Bacila Emilian bacila | Data | 11 septembrie 2012 23:39:13 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream>
#include <fstream>
using namespace std;
int x,n,sum,bestSum=-(1<<30),start=1,stop;
int main ()
{ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(int i=1;i<=n;i++)
{f>>x;
if (sum < 0)
{sum = x;
start=i;
}
else
sum += x;
if (bestSum < sum)
{bestSum = sum;
stop=i;}
}
g<<bestSum<<" "<<start<<" "<<stop;
f.close(); g.close();
return 0;
}