Cod sursa(job #2053617)
| Utilizator | Data | 31 octombrie 2017 22:49:28 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include<bits/stdc++.h>
using namespace std;
#define ld long double
#define ll long long
#define p_b push_back
#define m_p nke_pare
ll b, s,kf,ks,bs,bf,n,x;
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
if(i==1) {b=s=x;kf=ks=1;
}else{
if(x>(x+s))
{
s=x;
kf=ks=i;
if(s>b)
{
bf=bs=i;
b=s;
}
} else {
s+=x;
if(s>b)
{
bs=ks=i;
bf=kf;
b=s;
}
}
}}
cout<<b<<" "<<bf<<" "<<bs;
}
