1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | /// Raihan Ruhin (username : raihanruhin) /// Online resume: https://raihanruhin.github.io #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 int main() { ios_base::sync_with_stdio(0); cin.tie(0); int tc, n, arr[1002], tmp, mx, ans; cin>>tc; while(tc--) { cin>>n; tmp = 0; ans = 0; mx = -1e9; //single max element of the array for(int i=0; i<n; i++) { cin>>arr[i]; mx = max(mx, arr[i]); tmp += arr[i]; tmp = max(tmp, 0); ans = max(ans, tmp); } if(ans==0) cout<<mx<<endl; else cout<<ans<<endl; } return 0; } |
Friday, 18 August 2017
Kadane's Algorithm
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment