Cod sursa(job #2716060)
Utilizator | Andrei Vila Ninja951 | Data | 4 martie 2021 17:28:54 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | oji_andrei | Marime | 0.8 kb |
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
long long n,sum=-1,a,start,finish,maxxstart,maxxfinish,maxx=-21000000000000000;
in>>n;
for(int i=1; i<=n; i++)
{
in>>a;
if(sum>=0)
{
sum=sum+a;
finish=i;
}
else
{
sum=a;
start=finish=i;
}
if(sum>maxx)
{
maxx=sum;
maxxstart=start;
maxxfinish=finish;
}
else if(sum==maxx)
{
if(maxxstart>start)
{
maxxstart=start;
maxxfinish=finish;
}
}
}
out<<maxx<<" "<<maxxstart<<" "<<maxxfinish;
return 0;
}