147872025-02-02 17:03:02sarminVásárlás (75 pont)cpp17Hibás válasz 34/7521ms1620 KiB
// Created by Armin on 2/1/2025.

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pp = pair<int, int>;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);
    
    int n; cin >> n;
    vector<int> a(n), b(n);
    int sumb = 0;
    for (int i = 0; i < n; i++) {
      cin >> a[i];
    }
    vector<int> ba(n);
    for (int i = 0; i < n; i++) {
      cin >> b[i];
      sumb += b[i];
      ba[i] = b[i] - a[i];
      //cout << ba[i] << " ";
    }
    //cout << "\n";

    int i = 0, j = 0, sum = 0;
    int maxi = 0, maxj = 0, maxsum = 0;
    while (i + 1 < n && j + 1 < n) {
      if (sum + ba[j] < 0) {
        j++;
        i = j;
        sum = ba[i];
        if (sum > maxsum) {
          maxsum = sum;
          maxi = i;
          maxj = j;
        }
      } else {
        sum += ba[j];
        if (sum > maxsum) {
          maxsum = sum;
          maxi = i;
          maxj = j;
        }
        j++;
      }
      
    }
    //cout << maxi << " " << maxj << " " << maxsum << "\n";
    int c = 0, d = 0;
    for (int k = maxi; k <= maxj; k++) {
      c += a[k];
      d += b[k];
    }
    cout << c + sumb - d << '\n';
    
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base34/75
1Elfogadva0/01ms508 KiB
2Hibás válasz0/010ms820 KiB
3Hibás válasz0/31ms508 KiB
4Elfogadva4/41ms316 KiB
5Elfogadva4/41ms316 KiB
6Hibás válasz0/41ms316 KiB
7Elfogadva4/41ms316 KiB
8Elfogadva3/31ms316 KiB
9Hibás válasz0/41ms452 KiB
10Hibás válasz0/41ms316 KiB
11Elfogadva4/41ms440 KiB
12Hibás válasz0/51ms316 KiB
13Hibás válasz0/320ms1476 KiB
14Hibás válasz0/320ms1600 KiB
15Elfogadva3/320ms1484 KiB
16Elfogadva3/320ms1412 KiB
17Elfogadva3/321ms1588 KiB
18Elfogadva3/321ms1588 KiB
19Hibás válasz0/320ms1620 KiB
20Hibás válasz0/320ms1588 KiB
21Hibás válasz0/320ms1600 KiB
22Hibás válasz0/317ms1588 KiB
23Elfogadva3/321ms1588 KiB
24Hibás válasz0/320ms1612 KiB