Submission
# | When | Author | Problem | Language | CPU | Memory | |
---|---|---|---|---|---|---|---|
7095 | 2023-03-03 12:16:46 | heisenberg_120 | Maximum Subarray Length | C++ 17 | 2087 ms | 7024 kb | Time Limit Exceeded - 5 |
Source Code
#include<bits/stdc++.h> using namespace std; #define int long long int signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int tt; cin >> tt; while (tt--) { int n, mn = INT_MAX; cin >> n; vector<int> a(n + 1); for (int i = 1; i <= n; i++) { cin >> a[i]; mn = min(mn, a[i]); } map<int, int> mp; int s = 0, mxLen = 0; for (int i = 1; i <= n; i++) { s += a[i]; if (s == mn) { mxLen = i; } if (mp.find(s) == mp.end()) mp[s] = i; if (mp.find(s - mn) != mp.end()) mxLen = max(mxLen, i - mp[s - mn]); } cout << mxLen << '\n'; } return 0; }