Página Principal

MC521-1s2014

MC621-2s2014

MC521-1s2015

MC621-2s2015

MC521-1s2016

Conteúdo

Área Reservada

edit sidebar

Grand Theft Array V

Enunciado

/*** Autor: Lucas Melo ***/
#include <bits/stdc++.h>
using namespace std;

int n;
#define MAX 100001
int a[MAX];
int s[2];
int p[2];
int part[MAX];

int main() {
    while (cin >> n) {
        for (int i = 0; i < n; i++)
            cin >> a[i];
        cin >> p[0] >> p[1];
        p[0]--;
        p[1]--;

        for (int i = 0; i < n; i++) {
            part[i] = a[i];
            if (i > 0)
                part[i] += part[i - 1];
        }

        if (p[0] != p[1]) {
            if (p[0] > p[1]) {
                p[0] -= (p[0] - p[1] - 1 + 1) / 2;
                s[0] = part[n - 1] - part[p[0]] + a[p[0]];
            } else if (p[1] > p[0]) {
                p[0] += (p[1] - p[0] - 1 + 1) / 2;
                s[0] = part[p[0]];
            }
        } else {
            s[0] = max(part[p[0]], part[n - 1] - part[p[0]] + a[p[0]]);
        }
        s[1] = part[n - 1] - s[0];
        cout << s[0] << " " << s[1] << "\n";
    }
    return 0;
}