#include #define LL long long using namespace std; const int M=2005; const LL P=1e15; int n; LL a[M],b[M],f[M]; void Clear(){ memset(f,0x3f,sizeof(f)); f[0]=0; } void solve(){ Clear(); scanf("%d",&n); for(int i=1;i<=n;++i)scanf("%lld",&a[i]); for(int i=1;i<=n;++i){scanf("%lld",&b[i]);b[i]+=b[i-1];} for(int i=1;i<=n;++i) for(int j=n;j>=1;--j) if(f[j-1]+a[i]<=b[i]) f[j]=min(f[j],f[j-1]+a[i]); int ans=0; for(int i=n;i>=1;--i)if(f[i]