//
//  main.cpp
//  Sliding Window
//
//  Created by Himanshu on 18/09/21.
//


#include <iostream>
#include <climits>
using namespace std;
const int N = 7;

int solve (int A[], int k) {

    int maxSum = INT_MIN, currSum = 0;
    
    for (int i=0; i<k; i++) {
        currSum += A[i];
    }
    
    maxSum = max(maxSum, currSum);
    for (int i=k; i<N; i++) {
        currSum += A[i] - A[i-k];
        maxSum = max(maxSum, currSum);
    }

    return maxSum;
}
 
int main() {
    int A[N] = {5, 3, 4, 6, 8, 11, 20};
    int k = 7;
    
    cout<<"Maximum subset sum: "<<solve(A, k)<<endl;
    
    k = 4;
    cout<<"Maximum subset sum: "<<solve(A, k)<<endl;
    
}
