fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main(){
  5. int n ; cin>>n;
  6. vector<int>arr(n);
  7. for(int i = 0 ; i <n ; i++){
  8. cin>>arr[i];
  9. }
  10. vector<int>prefix(n); // declare a prefix array
  11. prefix[0]=arr[0];
  12. for(int i =1 ; i< n ; i++){
  13. prefix[i]=prefix[i-1]+arr[i];
  14. }
  15. vector<int>suffix(n);
  16. suffix[n-1]=arr[n-1];
  17. for(int i = n-2; i>=0;i--){
  18. suffix[i]=suffix[i+1]+arr[i];
  19. }
  20. int b; cin>>b ;
  21. int max_sum =INT_MIN;
  22. for(int k = 0 ; k<=b;k++){
  23. int sum = 0;
  24. if(k==0) sum = suffix[n-(b-k)];
  25. else sum = prefix[k-1] + suffix[n-(b-k)];
  26. max_sum=max(max_sum,sum);
  27. }
  28.  
  29.  
  30. cout<<max_sum;
  31. return 0 ;
  32. }
  33.  
  34.  
Success #stdin #stdout 0.01s 5320KB
stdin
5
5 -2 3 1 2 
2
stdout
7