fork download
  1. //Quiz 2 Rizki Farih Ardian
  2. #include <bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. void solve() {
  7. int n;
  8. cin >> n;
  9.  
  10. vector<int> a(n + 1);
  11. for (int i = 1; i <= n; i++) {
  12. cin >> a[i];
  13. }
  14.  
  15. vector<int> dp(n + 2, 0);
  16.  
  17. for (int i = n; i >= 1; i--) {
  18. dp[i] = dp[i + 1];
  19.  
  20. int blok_selesai = i + a[i];
  21. if (blok_selesai <= n) {
  22. dp[i] = max(dp[i], 1 + a[i] + dp[blok_selesai + 1]);
  23. }
  24. }
  25.  
  26. cout << n - dp[1] << "\n";
  27. }
  28.  
  29. int main () {
  30. int t;
  31. cin >> t;
  32. while (t--) {
  33. solve();
  34. }
  35.  
  36. return 0;
  37. }
Success #stdin #stdout 0.01s 5276KB
stdin
7
7
3 3 4 5 2 6 1
4
5 6 3 2
6
3 4 1 6 7 7
3
1 4 3
5
1 2 3 4 5
5
1 2 3 1 2
5
4 5 5 1 5
stdout
0
4
1
1
2
1
0