不管你说的对不对,但是

lxyt-415x / 2024-09-27 / 原文

和暴力的区别仅在循环长度

这是代码
#include<bits/stdc++.h>
using namespace std;
int a[5],ans=6000;
int main()
{
	freopen("light.in","r",stdin);
	freopen("light.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	for(int i=1;i<=4;i++)
		cin>>a[i];
	for(int i1=max(0,a[1]-950);i1<=a[1]&&i1<ans;i1++)
	 for(int i2=max(0,a[2]-950);i2<=a[2]&&i1+i2<ans;i2++)
	  for(int i3=max(0,a[3]-950),i4;i3<=a[3]&&i1+i2+i3<ans;i3++)
	  {
		i4=max(0,a[4]-i1/4-i2/2-i3/2);
		if(a[1]>i1+i2/2+i3/2+i4/4)
			i4=max(i4,(a[1]-i1-i2/2-i3/2)*4);
		if(a[2]>i1/2+i2+i3/4+i4/2)
			i4=max(i4,(a[2]-i1/2-i2-i3/4)*2);
		if(a[3]>i1/2+i2/4+i3+i4/2)
			i4=max(i4,(a[3]-i1/2-i2/4-i3)*2);
		ans=min(ans,i1+i2+i3+i4);
	  }
	cout<<ans<<"\n";
	return 0;
}