Cod sursa(job #1597242)

Utilizator dragos231456Neghina Dragos dragos231456 Data 11 februarie 2016 20:22:14
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

const char iname[] = "ssm.in";
const char oname[] = "ssm.out";

const int MAXN = 7000005;

#define FOR(i, a, b)  for (int i = (a); i <= (b); ++ i)
#define Max(a, b)  ((a) > (b) ? (a) : (b))

int main(void)
{
    int n,s=0,mx=-2000000000,a,lt,rt,id,i;
    ifstream f(iname);
    ofstream g(oname);
    f>>n;
    FOR(i,1,n)
    {
        f>>a;
        if(s<0)
        {
            s=a;
            id=i;
        }
        else
        {
            s+=a;
            if(s>mx)
            {
                mx=s;
                lt=id;
                rt=i;
            }
        }
    }
    g<<mx<<" "<<lt<<" "<<rt;
    f.close();
    g.close();
    return 0;
}