Cod sursa(job #1901873)

Utilizator corvinus2003Corvin Ghita corvinus2003 Data 4 martie 2017 11:41:00
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
using namespace std;

ifstream cin ("ssm.in");
ofstream cout ("ssm.out");

int main()
{
    int i, v[501], n;

    cin >> n;
    for (i = 1; i <= n; i++)
    {
        cin >> v[i];
    }
    int w[500];
    int j;
    int poz1, poz2;
    w[1] = v[1];
    for (i = 2; i <= n; i++)
    {
        if (v[i] > w[i - 1] + v[i])
            w[i] = v[i];
        else
            w[i] = v[i] + w[i - 1];
    }
    poz1 = 1;

    int max = w[1];
    for (i = 1; i <= n; i++)
        if (w[i] > max)
        {
            max = w[i];
            poz1 = i;

        }
    poz2 = poz1;
    int s = max;
    while (s - v[poz2] != 0)
    {
        s = s - v[poz2];
        poz2--;

    }
    cout << max << ' ' << poz2 << ' ' << poz1 << "\n";
    return 0;
}