Cod sursa(job #1689339)
| Utilizator | Data | 14 aprilie 2016 10:12:32 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include<fstream>
#include<cstdio>
#define ll long long
#define MIN 99999999999999999
#define MAX -99999999999999999
using namespace std;
ll n,ma,mi,s[6000001],i,x,pi=0,pf=1,poz;
int main()
{
freopen("ssm.in","r",stdin);
ofstream g("ssm.out");
scanf("%lld",&n);
for(i=1;i<=n;i++)
{scanf("%lld",&x);
s[i]=s[i-1]+x;}
mi=s[1];
ma=s[1];
for(i=2;i<=n;i++)
{
if(ma<s[i]-mi)
{
ma=s[i]-mi;
pf=i;
pi=poz;
}
if(mi>s[i])
{
mi=s[i];
poz=i;
}
}
g<<ma<<" "<<pi+1<<" "<<pf;
return 0;
}
