Cod sursa(job #2581715)

Utilizator MihclerioVladimir Chim Mihclerio Data 15 martie 2020 17:54:23
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>

const int inf=2e9;
const int nmax=1e6+3;
const int mod=666019;

using namespace std;

int main()
{
  ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
  freopen("ssm.in","r",stdin);
  freopen("ssm.out","w",stdout);

  int n;
  cin>>n;
  int ans=-inf,st=0,dr=0,sum=0,l=1;
  for(int i=1;i<=n;i++)
  {
    int x;
    cin>>x;
    sum+=x;
    if(sum>ans) st=l,dr=i,ans=sum; else
    if(sum==ans && i-l<dr-st) st=l,dr=i;
    if(sum<0) l=i+1,sum=0;
  }
  cout<<ans<<" "<<st<<" "<<dr;

}