Mai intai trebuie sa te autentifici.
Cod sursa(job #2998657)
Utilizator | Data | 9 martie 2023 19:56:24 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.74 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long long n,cangur,s,maxim,x,y,cnt,mxcnt;
int main() {
fin>>n;
for(int i=1; i<=n; i++) {
fin>>x;
if(s+x>0)
{
cnt++;
s+=x;
if(s>maxim )
{
maxim=s;
cangur=i-cnt+1;
y=i;
mxcnt=cnt;
}
else if(s==maxim and cnt<mxcnt)
{
maxim=s;
cangur=i-cnt+1;
y=i;
mxcnt=cnt;
}
maxim=max(maxim,s);
}else s=0, cnt=0;
}
fout<<maxim<<" "<<cangur<<" "<<y;
}