Cod sursa(job #1751643)
| Utilizator | Data | 1 septembrie 2016 17:59:04 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 35 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
using namespace std;
int a[6000001],n,s[6000001],i,p,q,j;
int main()
{
int maxim;
maxim=-maxim;
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
}
s[1]=a[1];
for(i=2;i<=n;i++)
{
s[i]=s[i-1]+a[i];
}
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j++)
{
if(s[j]-s[i-1]>maxim)
{
maxim=s[j]-s[i-1];
p=i;
q=j;
}
}
}
g<<maxim<<" "<<p<<" "<<q;
return 0;
}
