10374 2024. 04. 01 16:03:42 MagyarKendeSZLG Vásárlás (75 pont) cpp17 Elfogadva 75/75 24ms 6648 KiB
// thanks to the creative genius of TomaSajt
#include <bits/stdc++.h>
using namespace std;

int main() {
	cin.tie(0), ios::sync_with_stdio(0);

    int N;
    cin >> N;
    vector<int> A(N), B(N), S(N);

    for (int& x : A) cin >> x;
    for (int& x : B) cin >> x;
    for (int i = 0; i < N; i++) S[i] = B[i] - A[i];

    int best_l = -1, best_r = -1, best_save = 0, 
        l = 0, r = 0, save = 0;

    for (; r < N; r++) {
        if (save + S[r] <= 0) {
            save = 0;
            l = r + 1;
        } else {
            save += S[r];
            if (best_save < save) {
                best_save = save;
                best_l = l;
                best_r = r;
            }
        }
    } 

    int sum = 0;
    for (int i = 0; i < N; i++) {
        if (i < best_l || i > best_r) {
            sum += B[i];
        } else {
            sum += A[i];
        }
    }

    cout << sum;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 75/75
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 13ms 3060 KiB
3 Elfogadva 3/3 3ms 2264 KiB
4 Elfogadva 4/4 3ms 2440 KiB
5 Elfogadva 4/4 2ms 2524 KiB
6 Elfogadva 4/4 3ms 2552 KiB
7 Elfogadva 4/4 3ms 2640 KiB
8 Elfogadva 3/3 3ms 2916 KiB
9 Elfogadva 4/4 3ms 3256 KiB
10 Elfogadva 4/4 3ms 3232 KiB
11 Elfogadva 4/4 3ms 3092 KiB
12 Elfogadva 5/5 3ms 3348 KiB
13 Elfogadva 3/3 24ms 5528 KiB
14 Elfogadva 3/3 24ms 5780 KiB
15 Elfogadva 3/3 24ms 5888 KiB
16 Elfogadva 3/3 24ms 5996 KiB
17 Elfogadva 3/3 24ms 6224 KiB
18 Elfogadva 3/3 24ms 6032 KiB
19 Elfogadva 3/3 24ms 6292 KiB
20 Elfogadva 3/3 24ms 6232 KiB
21 Elfogadva 3/3 24ms 6508 KiB
22 Elfogadva 3/3 19ms 6380 KiB
23 Elfogadva 3/3 24ms 6648 KiB
24 Elfogadva 3/3 23ms 6604 KiB