Submission #1144154

#TimeUsernameProblemLanguageResultExecution timeMemory
1144154AlgorithmWarriorSequence (APIO23_sequence)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 100000; int n; vector<int> a; long long countMedianSubarrays(int median) { vector<int> trans(n); int medianIndex = -1; // Transformăm array-ul în -1, 0, +1 for (int i = 0; i < n; ++i) { if (a[i] < median) trans[i] = -1; else if (a[i] > median) trans[i] = 1; else { trans[i] = 0; medianIndex = i; // reținem poziția medianei } } // Folosim un hash map pentru a număra prefix sum-urile unordered_map<int, int> freqLeft, freqRight; int sum = 0; long long result = 0; // Contorizăm prefix sum-urile din stânga medianei for (int i = medianIndex; i >= 0; --i) { sum += trans[i]; freqLeft[sum]++; } sum = 0; // Contorizăm prefix sum-urile din dreapta medianei for (int i = medianIndex; i < n; ++i) { sum += trans[i]; freqRight[sum]++; } // Calculăm câte subsecvențe sunt valide for (auto [key, count] : freqLeft) { result += count * freqRight[-key]; } return result; } int main() { cin >> n; a.resize(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } long long totalSubarrays = 0; for (int i = 0; i < n; ++i) { totalSubarrays += countMedianSubarrays(a[i]); } cout << totalSubarrays << endl; return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccdLhHra.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccL2XL2W.o:sequence.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccdLhHra.o: in function `main':
grader.cpp:(.text.startup+0x2c7): undefined reference to `sequence(int, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status