class Solution {
public:
double largestSumOfAverages(vector<int>& A, int K) {
if(K>A.size())return -1;
if(K==1){
double sum = 0;
sum = accumulate(A.begin(),A.end(),sum);
return sum/A.size();
}
int n =A.size();
double dp[n+100][K+100];
double res = -4000;
for(int i=1;i<=n;i++){
for(int j=1;j<=K;j++){
if(i<j)dp[i][j] = -4000;
if(j==1){
double sum = 0;
for(int k=0;k<i;k++)sum += A[k];
dp[i][j] = double(double(sum)/double(i));
if(dp[i][j]>=res)res = dp[i][j];
}
}
}
for(int i=2;i<=n;i++){
for(int j=2;j<=K;j++){
if(i>=j){
dp[i][j] = -4000;
double sum = 0;
for(int k=i-1;k>=0;k--){
sum += A[k];
dp[i][j] = max(dp[i][j],double(double(sum)/double(i-k)) + dp[k][j-1]);
}
if(dp[i][j]>=res)res = dp[i][j];
}
}
}
res = -4000;
for(int i=1;i<=K;i++){
if(res<dp[n][i]){
res = dp[n][i];
}
}
return res;
}};
CODE GIVES CORRECT OUTPUT FOR TESTCASE 47 {1,2,3,4} IN CONSOLE BUT FAILS ON THE SAME TESTCASE WHEN SUBMITTED