Cod sursa(job #1305098)

Utilizator refugiatBoni Daniel Stefan refugiat Data 29 decembrie 2014 15:40:53
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<vector>
#include<queue>
#include<limits.h>
using namespace std;
int main()
{
    ifstream si;
    si.open("ssm.in");
    FILE* so=fopen("ssm.out","w");
    int n;
    si>>n;
    int b,s,maxx=-1,i,a,e,x,f,p;
    si>>e;
    p=0;
    if(e>0)
    {
        s=e;
        b=0;
    }
    else
    {
        s=0;
        b=1;
    }
    for(i=1;i<n;++i)
    {
        si>>a;
        if(a<e)
        {
            e=a;
            p=i;
        }
        s=s+a;
        if(s>maxx)
        {
            maxx=s;
            x=b;
            f=i;
        }
        if(s<0)
        {
            s=0;
            b=i+1;
        }
    }
    if(maxx==-1)
        fprintf(so,"%i %i %i\n",e,p+1,p+1);
    else
        fprintf(so,"%i %i %i\n",maxx,x+1,f+1);
}