Cod sursa(job #1000554)

Utilizator AndreeaBaltaBalta Andreea Cristina AndreeaBalta Data 23 septembrie 2013 10:06:57
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <stdio.h>

using namespace std;
int v[6000003];
int main()
{
    FILE*in,*out;
    in = fopen("ssm.in","r");
    out = fopen("ssm.out","w");
    int N,sc = 0,smax = -1000000000,pc = 1,p1 = 1,p2 = 0,i;
    fscanf(in,"%d", &N);
    for(i = 1;i <= N;i++)
    {
        fscanf(in, "%d", &v[i]);
    }
    for(i = 1;i <= N;i++)
    {
        if(sc < 0)
        {
            //resetez sc
            sc = 0;
            pc = i;
            //p1 = i;
        }
        sc += v[i];
        //p2++;
        if(sc > smax)
        {
            //actualizez smax
            smax = sc;
            p1 = pc;
            p2 = i;
        }
    }
    fprintf(out,"%d %d %d\n",smax,p1,p2);
    return 0;
}