Cod sursa(job #1686294)
| Utilizator | Data | 12 aprilie 2016 10:24:18 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int x[6000001],n,s,t,s1;
long long b,Max,sum;
int main()
{
fin>>n;
int i;
s=0;
t=0;
b=999999999;
Max=-999999999999999;
for(i=1;i<=n;i++)
fin>>x[i];
for(i=1;i<=n;i++)
{
sum=sum+x[i];
if(sum-b>Max)
{
Max=sum-b;
t=i;
s=s1;
}
if(sum<b){
b=sum;
s1=i+1;
}
}
fout<<Max<<" "<<s<<" "<<t;
return 0;
}
