0分求助
查看原帖
0分求助
1294496
wu_18楼主2024/5/21 20:46

dp背包做法

#include<bits/stdc++.h>
using namespace std;
int a[35],n,ans = INT_MIN;
void dg(int dep,int aaa,int ddd)
{
	if(dep>n)
	{
		if(aaa>ans) ans = aaa;
	}
	else
	{
		dg(dep+1,aaa,ddd);
		if(a[dep]<=ddd)
		{
			dg(dep+1,aaa+1,a[dep]);
		}
	}
}
int main()
{
    while(cin>>a[n])
    {
    	n++;
	}
	dg(1,0,INT_MAX);
	cout<<ans<<'\n';
	double t = n*1.0/ans;
	cout<<ceil(t);
    return 0;
}
2024/5/21 20:46
加载中...