Cod sursa(job #2075939)
Utilizator | Data | 25 noiembrie 2017 21:14:19 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <bits/stdc++.h>
#define MaxN 200005
#define INF 2140000000
#define MOD 1999999973
using namespace std;
FILE*IN,*OUT;
int N,X,S,Max=0,Start,End;
int main()
{
IN=fopen("ssm.in","r");
OUT=fopen("ssm.out","w");
fscanf(IN,"%d",&N);
int Min=0;
for(int i=1;i<=N;i++)
{
fscanf(IN,"%d",&X);
S+=X;
if(Min>=S)
Min=S,Start=i+1;
if(Max<S-Min)
{
Max=S-Min;
End=i;
}
}
fprintf(OUT,"%d %d %d",Max,Start,End);
return 0;
}