fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int rec(int idx, int x, int y, int z, vector<int>&a)
  4. {
  5. if(idx>=(int)a.size())return 0;
  6. int res=rec(idx+1, x, y, z, a);
  7. if(x>0){
  8. res=max(res, rec(idx+1, x-1, y, z,a)+a[idx]);
  9. }
  10. if(y>0 && idx+1<a.size()){
  11. res=max(res, rec(idx+2, x, y-1, z,a)+a[idx]+a[idx+1]);
  12. }
  13. if(z>0 && idx+2<a.size()){
  14. res=max(res, rec(idx+3, x, y, z-1,a) + a[idx]+a[idx+1]+a[idx+2]);
  15. }
  16. return res;
  17.  
  18.  
  19. }
  20. int main(){
  21. int n; cin>>n;
  22. vector<int>a(n);
  23. int x, y,z; cin>>x>>y>>z;
  24. for(int i=0;i<n;i++)
  25. {
  26. cin>>a[i];
  27. }
  28. cout<<rec(0, x, y, z, a);
  29. }
Runtime error #stdin #stdout 2.92s 2095908KB
stdin
Standard input is empty
stdout
Standard output is empty