Cod sursa(job #2789291)
Utilizator | Chiriac Andrei chiriacandrei25 | Data | 27 octombrie 2021 12:33:56 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include<iostream>
#include<fstream>
using namespace std;
long long s, x, n;
int st, dr, smax = -2000000000, S = -1, start;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%lld",&n);
for(int i = 1 ; i <= n ; i++)
{
scanf("%lld",&x);
if(S < 0)
{
S = 0;
start = i;
}
S += x;
if(S > smax)
{
smax = S;
st = start;
dr = i;
}
}
cout << smax << " " ;
cout << st << " " << dr;
}