Loading...
Submission
# When Author Problem Language CPU Memory
5488 2022-06-02 19:37:54 cu_iupc_79 Maximum Subarray Length C++ 17 1534 ms 8568 kb Accepted
Test Cases
# CPU Memory Points
1 3 ms 3408 kb 1 Accepted
2 14 ms 3456 kb 1 Accepted
3 8 ms 3548 kb 1 Accepted
4 15 ms 3624 kb 1 Accepted
5 1534 ms 6216 kb 1 Accepted
6 219 ms 3792 kb 1 Accepted
7 179 ms 8568 kb 1 Accepted
8 177 ms 8396 kb 1 Accepted
9 3 ms 3320 kb 1 Accepted
10 3 ms 3560 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. 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. }