Cod sursa(job #3142261)
Utilizator | Data | 20 iulie 2023 13:27:24 | |
---|---|---|---|
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;
}