Cod sursa(job #863820)

Utilizator alex45meOlaru Alex alex45me Data 24 ianuarie 2013 09:11:59
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 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=-2147483647;
 
    for(i=1;i<=n;i++){
           fscanf(f,"%d",&x);
           s[i]=s[i-1]+x;
           if (x>mn2) {mn2=x; kkk=i;}
    }
    mx=-2147483647;
    for(i=1;i<=n;i++)
       if (s[i]>mx ) {mx=s[i]; k=i;}
    mn=2147483647;
    for (j=0;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;
}