Cod sursa(job #2480062)
Utilizator | Data | 24 octombrie 2019 20:40:24 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
using namespace std;
int n,i,a,s[36000001],j,maxi,imaxi,jmaxi,mini;
int main()
{
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
fin>>n;
mini=9999999999;
for(i=1;i<=n;i++)
{
fin>>a;
s[i]=s[i-1]+a;
if(s[i]<mini)
{
mini=s[i];
j=i;
}
}
cout<<j;
for(i=j;i<=n;i++)
{
if(maxi<s[i]-s[j])
{
maxi=s[i]-s[j] ;
imaxi=i;
}
}
fout<<maxi<<' '<<j+1<<' '<<imaxi;
return 0;
}