rendered paste body#include <iostream>using namespace std;int main(){ long inp[1000], i, j, k, n; long maxMoney[1000][1000], steps; memset(maxMoney, 0xFF, sizeof(maxMoney)); scanf("%ld", &n); for(i = 0 ; i < n ; i++) scanf("%ld", &inp[i]); maxMoney[0][0] = inp[0]; for(i = 0 ; i < n ; i++) { for(j = i ; j >= 0 ; j--) { steps = maxMoney[j][i]/100; for(k = 0 ; maxMoney[j][i] >= 0 && i+k+1 < n && k <= steps ; k++) maxMoney[j+1][i+k+1] = max(inp[i+k+1]+(maxMoney[j][i]-(k*100)), maxMoney[j+1][i+k+1]); } } for(i = 0 ; i < n ; i++) { if(maxMoney[i][n-1] >= 0) { printf("%ld", i+1); break; } } if(i == n) printf("-1"); return 0;}