Cod sursa(job #3140994)
| Utilizator | Data | 11 iulie 2023 18:22:37 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
#define cin fin
#define cout fout
long long n,i,x,sum,y,a,b,maxi;
int main()
{
cin>>n;
sum=0; maxi=-10000; y=1;
for(i=1;i<=n;i++)
{
cin>>x;
if(sum<0)
{
sum=x;
y=i;
}
else sum+=x;
if(sum> maxi)
{
maxi=sum;
a= y;
b=i;
}
else if(sum== maxi && b-a>i-y)
{
a=y; b=i;
}
}
cout<<maxi<<" "<<a<<" "<<b;
return 0;
}
