#include #define N 2005 #define re register #define ll long long using namespace std; int n,m,K,q; inline void Rd(int &res){ re char c;res=0; while(c=getchar(),c<48); do res=(res<<3)+(res<<1)+(c^48); while(c=getchar(),c>47); } int a[N],b[N]; ll f[N][N]; void Up(ll &x,ll y){((x==-1)||(x=0){ Up(f[i+1][j],f[i][j]+b[i+1]); if(f[i][j]+b[i+1]>=a[i+1])Up(f[i+1][j+1],f[i][j]+b[i+1]-a[i+1]); } } ll ans=0; for(re int i=1;i<=n;i++)if(f[n][i]>=0)ans=i; printf("%lld\n",ans); } return 0; }