Loading...
Submission
# When Author Problem Language CPU Memory
5487 2022-06-02 19:36:55 cu_iupc_79 Maximum Subarray Length C++ 17 490 ms 8268 kb Accepted
Test Cases
# CPU Memory Points
1 4 ms 3416 kb 1 Accepted
2 10 ms 3544 kb 1 Accepted
3 7 ms 3444 kb 1 Accepted
4 10 ms 3528 kb 1 Accepted
5 490 ms 6100 kb 1 Accepted
6 376 ms 3788 kb 1 Accepted
7 86 ms 8268 kb 1 Accepted
8 88 ms 8192 kb 1 Accepted
9 3 ms 3584 kb 1 Accepted
10 4 ms 3400 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. maxLen = max(maxLen, i - um[sum - k]);
  20. }
  21. }
  22. return maxLen;
  23. }
  24. public:
  25. void solve(){
  26. int n;cin >> n;
  27. int arr[n];
  28. int k = 1;
  29. for(int i = 0 ; i < n ; i++){
  30. cin >> arr[i];
  31. k = min(arr[i],k);
  32. }
  33. cout << LCS(arr,n,k) << endl;
  34. }
  35. };
  36. int main(){
  37. ios_base::sync_with_stdio(false);
  38. Solution oop;
  39. int t;cin>>t;
  40. rep(i,1,t)oop.solve();
  41. return 0;
  42. }