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