Loading...
Submission
# When Author Problem Language CPU Memory
7096 2023-03-03 12:17:27 heisenberg_120 Maximum Subarray Length C++ 17 579 ms 8744 kb Accepted
Test Cases
# CPU Memory Points
1 3 ms 3504 kb 1 Accepted
2 10 ms 3536 kb 1 Accepted
3 6 ms 3364 kb 1 Accepted
4 11 ms 3484 kb 1 Accepted
5 579 ms 6512 kb 1 Accepted
6 366 ms 4200 kb 1 Accepted
7 110 ms 8612 kb 1 Accepted
8 143 ms 8744 kb 1 Accepted
9 3 ms 3340 kb 1 Accepted
10 3 ms 3416 kb 1 Accepted
Source Code
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define int long long int
  4.  
  5. signed main(){
  6. ios_base::sync_with_stdio(false);
  7. cin.tie(nullptr);
  8. int tt;
  9. cin >> tt;
  10. while (tt--) {
  11. int n, mn = INT_MAX;
  12. cin >> n;
  13. vector<int> a(n + 1);
  14. for (int i = 1; i <= n; i++) {
  15. cin >> a[i];
  16. mn = min(mn, a[i]);
  17. }
  18. unordered_map<int, int> mp;
  19. int s = 0, mxLen = 0;
  20. for (int i = 1; i <= n; i++) {
  21. s += a[i];
  22. if (s == mn) {
  23. mxLen = i;
  24. }
  25. if (mp.find(s) == mp.end()) mp[s] = i;
  26. if (mp.find(s - mn) != mp.end()) mxLen = max(mxLen, i - mp[s - mn]);
  27. }
  28. cout << mxLen << '\n';
  29. }
  30. return 0;
  31. }