Cod sursa(job #2371891)
Utilizator | Data | 6 martie 2019 20:04:06 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <bits/stdc++.h>
using namespace std;
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n;
scanf("%d",&n);
int sp=0,Min=0,Min_poz=0;
int Max=-INT_MAX,st_Max=-1,dr_Max=-1;
for(int i=1;i<=n;++i){
int x;
scanf("%d",&x);
sp+=x;
if(sp-Min>Max){
Max=sp-Min;
st_Max=Min_poz+1;
dr_Max=i;
}
if(sp<Min){
Min=sp;
Min_poz=i;
}
}
printf("%d %d %d\n",Max,st_Max,dr_Max);
return 0;
}