158A

时间:2021-11-14 11:54:44
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
	int groups[100009], num[5];
	int n, sum;
	while(cin>>n)
	{
		sum=num[1]=num[2]=num[3]=num[4]=0;
		for(int i=0; i<n; ++i)
		{
			cin>>groups[i];
			++num[groups[i]];
		}
		if(num[1]<=(num[3]+(2*(num[2]%2))))
			num[1]=0;
		else
			num[1]-=num[3]+(2*(num[2]%2));
		if((num[1]%4)!=0)
			++sum;
		sum+=num[4]+num[3]+(num[2]/2)+(num[2]%2)+(num[1]/4);
		cout<<sum<<endl;
	}
	return 0;
}