Cod sursa(job #2957401)
Utilizator | Data | 22 decembrie 2022 15:51:35 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int INF=1000000;
int main()
{
int n, sc_i=-1, smax=-INF, p_secv_c=1, st, dr;
in>>n;
for(int i=1;i<=n;i++)
{
int x_i;
in>>x_i;
if(x_i>sc_i+x_i)
{
sc_i=x_i;
p_secv_c=i;
}
else
{
sc_i+=x_i;
}
if(sc_i>smax)
{
smax=sc_i;
st=p_secv_c;
dr=i;
}
}
out<<smax<<" "<<st<<" "<<dr;
}