Cod sursa(job #2419244)
Utilizator | Data | 7 mai 2019 21:13:27 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
std::ifstream fin ("ssm.in");
std::ofstream fout("ssm.out");
int n;
int si, sj, sum;
int summ, smi, smj;
int main()
{
fin>>n;
summ=-1<<30;
for(int i=0;i<n;i++)
{
int j;
fin>>j;
if(j>sum+j)
{
sum=j;
si=i;
sj=i;
}
else
{
sum+=j;
sj++;
}
if(sum>summ)
{
summ=sum;
smi=si;
smj=sj;
}
}
fout<<summ<<" "<<smi+1<<" "<<smj+1<<"\n";
}