Cod sursa(job #3185544)
| Utilizator | Data | 19 decembrie 2023 15:35:39 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
#include <cmath>
#include <queue>
#include <string>
#include <cstring>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[600005],n,dp,Max;
int prec;
int main()
{
///citire
fin>>n;
for(int i=1;i<=n;i++) fin>>a[i];
///PD
dp=a[1];
Max=a[1];
int k=1;
prec=1;
int paux=1;
for(int i=2;i<=n;i++)
{
if(dp<0) dp=a[i],prec=1;
else dp+=a[i],prec+=1;
if(Max<dp) Max=dp,k=i,paux=prec;
}
///afisare
fout<<Max<<" "<<k-paux+1<<" "<<k;
}
