Untitled
unknown
plain_text
2 years ago
1.1 kB
7
Indexable
#define ll long long class Solution { public: int mod = 1e9+7; int kConcatenationMaxSum(vector<int>& arr, int k) { vector<ll> dup; ll n = arr.size(); ll i = 0; while (k--) { i = 0; while (i < n) { dup.push_back(arr[i]); i++; } } ll countp = 0; for (ll x : dup) countp += x >= 0; // Use dup instead of arr if (countp == dup.size()) { // Use dup.size() instead of n ll sum = 0; for (ll x : dup) sum += x%mod; return sum%mod; } ll countn = count_if(begin(dup), end(dup), [](ll& x) { return x < 0; }); if (countn == dup.size()) return 0; // Use dup.size() instead of n ll curr_sum = 0, max_sum = INT_MIN; for (ll x : dup) { curr_sum += x%mod; if (curr_sum < 0) curr_sum = 0; max_sum = max(max_sum, curr_sum); } return max_sum%mod; } };
Editor is loading...