fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int t;
  6. cin >> t;
  7. while(t--)
  8. {
  9. int n,k;
  10. cin>>n>> k;
  11. int a[k];
  12. for(int i=0;i<k;i++)
  13. cin >> a[i];
  14. int dp[k+1]={0};
  15. dp[0]=0;
  16. for(int i=1;i<k+1;i++)
  17. {
  18. for(int j=0;j<i;j++)
  19. {
  20. if(a[i-1]==-1)
  21. {
  22. dp[i]=min(dp[i],dp[j]+dp[i-1-j]);
  23. }
  24. else
  25. {
  26. dp[i]=a[i-1];
  27. dp[i]=min(dp[i],dp[j]+dp[i-1-j]);
  28. }
  29. }
  30. }
  31.  
  32. cout << dp[k]<<endl;
  33. }
  34. return 0;
  35. }
Success #stdin #stdout 0s 15240KB
stdin
2
3 5
-1 -1 4 5 -1
5 5
1 2 3 4 5
stdout
0
0