BZOJ 2748 [HAOI2012]音量调节[早期代码欣赏]

2018.03.14

不写题解了。

就是挂出来自己早年中二代码

公开处刑


#include <cstdio>

int n,imaginebraker,levelfive,c[60];
bool f[60][1010];

void dfs(int pos,int target)
{
	if(f[pos][target]) return;
	f[pos][target]=true;
	if(pos==n) return;
	if(target+c[pos+1]<=levelfive) dfs(pos+1,target+c[pos+1]);
	if(target-c[pos+1]>=0) dfs(pos+1,target-c[pos+1]);
}

int main()
{
	scanf("%d%d%d",&n,&imaginebraker,&levelfive);
	for(int i=1;i<=n;++i) scanf("%d",&c[i]);
	dfs(0,imaginebraker);
	for(int i=levelfive;i>=0;--i)
		if(f[n][i])
		{
			printf("%d",i);
			return 0;
		}
	printf("-1");
	return 0;
}