Cod sursa(job #2174572)
| Utilizator | Data | 16 martie 2018 12:36:42 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
using namespace std;
ifstream F("ssm.in");
ofstream G("ssm.out");
int n, st, dr, L, R, v[6000005];
long long S, sm;
int main()
{
F >> n;
for(int i = 1; i <= n; ++ i)F >> v[i];
st=1;dr=2;L=1;R=1;
S=sm=v[1];
while(dr<=n){
if(S+v[dr]>=v[dr]) S+=v[dr++];
else S=v[dr], st=dr, dr++;
if(S>sm) sm=S, L=st, R=dr-1;
}
G << sm << " " << L << " " << R;
return 0;
}
