Cod sursa(job #2119777)
| Utilizator | Data | 1 februarie 2018 17:17:05 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <bits/stdc++.h>
std::ifstream in("ssm.in");
std::ofstream out("ssm.out");
using namespace std;
int v[7000005],n;
int main()
{ int a,b,minim=0,maxim=-int(2e9),poz_min;
in >> n ;
for(int i =1 ; i <= n; ++i)in>>v[i];
for(int i =1 ; i <= n ; ++i)
{
v[i]+=v[i-1];
if(v[i]-minim>maxim)
maxim=v[i]-minim,a=poz_min+1,b=i;
if(v[i]<minim)
minim=v[i],poz_min=i;
}
out<<maxim<<" "<<a<<" "<<b;
return 0;
}
