I am getting wrong answer when I submit this.Please help me out of this.
#include
#include<bits/stdc++.h>
using namespace std;
int main() {
int t;
cin>>t;
while(t--)
{
int n,k;
cin>>n>>k;
int a[k+1],dp[k+1];
for(int i=0;i<=k;i++) dp[i]=0;
for(int i=0;i<k;i++)
{
cin>>a[i];
}
for(int i=1;i<=k;i++)
{
int maxi=a[i-1];
for(int j=1;j<i;j++)
{
if(dp[j]!=0 && dp[i-j]!=0)
{
maxi=max(dp[j]+dp[i-j],maxi);
}
}
if(maxi!=-1) dp[i]=maxi;
}
if(dp[k]==0) cout<<-1<<endl;
else cout<<dp[n]<<endl;
}
}