Cod sursa(job #1858080)

Utilizator WebDesignbyTMGhiorghiu Ioan-Viorel WebDesignbyTM Data 26 ianuarie 2017 23:26:54
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#define DM 6000000
using namespace std;
ifstream fi ("ssm.in");
ofstream fo ("ssm.out");

int n, a, sp[DM];
pair <int, int> mx, mn;

int main()
{
    fi >> n;
    mx.first = -1000;
    for (int i = 0; i < n; ++i)
    {
        fi >> a;
        sp[i+1] = sp[i] + a;
        if (sp[i+1] > mx.first)
        {
            mx.first = sp[i+1];
            mx.second = i + 1;
        }
    }
    for (int i = 0; i < mx.second; ++i)
        if (sp[i+1] < mn.first)
        {
            mn.first = sp[i+1];
            mn.second = i + 1;
        }
    fo << mx.first - mn.first << ' ' << mn.second + 1 << ' ' << mx.second;
    return 0;
}