Cod sursa(job #829461)

Utilizator alex45meOlaru Alex alex45me Data 5 decembrie 2012 14:43:49
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <stdio.h>

using namespace std;

FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");

int s[6000001],i,j,mn,mx,k,kk,n,x,kkk,mn2;

int main()
{

    fscanf(f,"%d",&n);
        mn2=-100001;

    for(i=1;i<=n;i++){
           fscanf(f,"%d",&x);
           s[i]=s[i-1]+x;
           if (x>mn2) {mn2=x; kkk=i;}
    }
    mx=-100001;
    for(i=1;i<=n;i++)
       if (s[i]>mx ) {mx=s[i]; k=i;}
    mn=100001;
    for (j=1;j<k;j++)
       if (s[j]<mn) {mn=s[j]; kk=j+1;}
    if (mn2>mx-mn)
    fprintf(g,"%d %d %d",mn2,kkk,kkk);
    else
    fprintf(g,"%d %d %d",mx-mn,kk,k);


    return 0;
}