| 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;
}
