Cod sursa(job #2326721)
| Utilizator | Data | 23 ianuarie 2019 22:03:17 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int MAX=6000000;
int n,v[MAX];
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
in>>n;
for(int i=1;i<=n;i++) in>>v[i];
int bestsum=-2e8, s=0, start, end, ind;
for(int i=1;i<=n;i++)
{
if(s<0)
{
s=v[i];
ind=i;
}
else s+=v[i];
if(bestsum<s)
{
bestsum=s;
start=ind;
end=i;
}
}
out<<bestsum<<" "<<start<<" "<<end;
return 0;
}
