Submission details
Task:Subarray Sums II
Sender:francden
Submission time:2025-11-24 00:55:33 +0200
Language:C++ (C++17)
Status:COMPILE ERROR

Compiler report

input/code.cpp:1:2: error: stray '#' in program
    1 | A#include <bits/stdc++.h>
      |  ^
input/code.cpp:1:1: error: 'A' does not name a type
    1 | A#include <bits/stdc++.h>
      | ^
input/code.cpp:4:46: error: 'vector' does not name a type
    4 | long long findAllSubarraysWithGivenSum(const vector<long long>& arr, long long k, int n) {
      |                                              ^~~~~~
input/code.cpp:4:52: error: expected ',' or '...' before '<' token
    4 | long long findAllSubarraysWithGivenSum(const vector<long long>& arr, long long k, int n) {
      |                                                    ^
input/code.cpp: In function 'long long int findAllSubarraysWithGivenSum(int)':
input/code.cpp:5:5: error: 'unordered_map' was not declared in this scope
    5 |     unordered_map<long long, long long> mpp;
      |     ^~~~~~~~~~~~~
input/code.cpp:5:19: error: expected primary-expression before 'long'
    5 |     unordered_map<long long, long long> mpp;
      |...

Code

A#include <bits/stdc++.h>
using namespace std;

long long findAllSubarraysWithGivenSum(const vector<long long>& arr, long long k, int n) {
    unordered_map<long long, long long> mpp;
    mpp.reserve(n * 2);
    mpp.max_load_factor(0.7);

    long long preSum = 0, cnt = 0;

    mpp[0] = 1;

    for (int i = 0; i < n; i++) {
        preSum += arr[i];
        
        long long remove = preSum - k;

        if (mpp.count(remove))
            cnt += mpp[remove];

        mpp[preSum]++;
    }

    return cnt;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    long long x;
    cin >> n >> x;

    vector<long long> a(n);
    for (int i = 0; i < n; i++) 
        cin >> a[i];

    long long cnt = findAllSubarraysWithGivenSum(a, x, n);

    cout << cnt << "\n";
    return 0;
}