Cod sursa(job #2321696)
Utilizator | Dorde Teodor Teodor01 | Data | 16 ianuarie 2019 15:27:48 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int v[6000001];
int main()
{
int n,i,c1,c2,max,min,ans,pos=0;
cin>>n;
for(i=1;i<=n;i++){
cin>>v[i];
v[i]=v[i]+v[i-1];
}
max=-(1<<30);
min=(1<<30);
for(i=1;i<=n;i++){
if(max<v[i]-min)
max=v[i]-min,c1=pos,c2=i;
if(min>v[i])
min=v[i],pos=i+1;
}
cout<<max<<' '<<c1<<' ' <<c2;
return 0;
}