Cod sursa(job #2288405)

Utilizator dinugaftonGafton Dinu dinugafton Data 23 noiembrie 2018 12:34:12
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include<bits/stdc++.h>
using namespace std;
#define ion 6000015
int n,a[ion],b[ion],k,k1;
long long max1;
int main(){
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
   cin>>n;
   for(int i=1;i<=n;i++)
       cin>>a[i];
   max1=a[1]; b[1]=a[1];k1=1;k=1;
   for(int i=2;i<=n;i++){
       if(b[i-1]>0)b[i]=b[i-1]+a[i];
       else
        b[i]=a[i];
       if(b[i]>max1){
        k1=i;
        max1=b[i];
       }
   }
   for(int i=k1;i>=1;i--){
       if(b[i]<0){
            k=i+1;
            break;
   }
   }
   cout<<max1<<' '<<k<<' '<<k1;
   return 0;
}