Cod sursa(job #2022475)

Utilizator AsttridMocanu Ada Astrid Asttrid Data 16 septembrie 2017 16:53:15
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int DIM=6000001;
int n,s[DIM],x;
int main(){int i,minn,poz=1,maxx,poz2;
in>>n;

for(i=1;i<=n;i++)
    {in>>x;
    s[i]=s[i-1]+x;
    if(i==1)minn=s[i];
    else if(s[i]<minn){minn=s[i];poz=i;}}

maxx=minn;poz2=poz;

for(i=poz+1;i<=n;i++)
if(s[i]-s[poz]>maxx){maxx=s[i]-s[poz];poz2=i;}
for(i=1;i<=poz;i++)
if(s[i]>maxx){maxx=s[i];poz2=i;poz=0;}
out<<maxx<<" "<<poz+1<<" "<<poz2;

in.close();
out.close();
return 0;}