Loading...
Submission
# When Author Problem Language CPU Memory
5486 2022-06-02 19:35:20 cu_iupc_79 Maximum Subarray Length C++ 17 511 ms 8324 kb Accepted
Test Cases
# CPU Memory Points
1 3 ms 3412 kb 1 Accepted
2 9 ms 3468 kb 1 Accepted
3 5 ms 3348 kb 1 Accepted
4 9 ms 3548 kb 1 Accepted
5 511 ms 6120 kb 1 Accepted
6 273 ms 3804 kb 1 Accepted
7 82 ms 8160 kb 1 Accepted
8 89 ms 8324 kb 1 Accepted
9 3 ms 3496 kb 1 Accepted
10 3 ms 3476 kb 1 Accepted
Source Code
  1. #include<bits/stdc++.h>
  2. #define all(x) x.begin(),x.end()
  3. #define rep(i,a,n) for(auto i = (a) ; i <= (n) ; i++)
  4. #define per(i,a,n) for(auto i = (a) ; i >= (n) ; i--)
  5. using ll = long long int;
  6. using namespace std;
  7. class Solution{
  8. private:
  9. int LCS(int arr[],int n,int k){
  10. unordered_map<int, int> um;
  11. int sum = 0, maxLen = 0;
  12. for (int i = 0; i < n; i++) {
  13. sum += arr[i];
  14. if (sum == k)
  15. maxLen = i + 1;
  16. if (um.find(sum) == um.end())
  17. um[sum] = i;
  18. if (um.find(sum - k) != um.end()) {
  19. if (maxLen < (i - um[sum - k]))
  20. maxLen = i - um[sum - k];
  21. }
  22. }
  23. return maxLen;
  24. }
  25. public:
  26. void solve(){
  27. int n;cin >> n;
  28. int arr[n];
  29. int k = 1;
  30. for(int i = 0 ; i < n ; i++){
  31. cin >> arr[i];
  32. k = min(arr[i],k);
  33. }
  34. cout << LCS(arr,n,k) << endl;
  35. }
  36. };
  37. int main(){
  38. ios_base::sync_with_stdio(false);
  39. Solution oop;
  40. int t;cin>>t;
  41. rep(i,1,t)oop.solve();
  42. return 0;
  43. }