codeforces 158B

简介: http://codeforces.com/problemset/problem/158/B 贪心:4人1车,(3+1)人1车,(2+2)人1车,(2+1+1)人1车,(1*4)人1车 #include<cstdio>#include<iostream>#include<algorithm>#include<cstring>us

http://codeforces.com/problemset/problem/158/B

贪心:4人1车,(3+1)人1车,(2+2)人1车,(2+1+1)人1车,(1*4)人1车

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int a[5];
int main()
{
   // freopen("1.txt","r",stdin);
    int i,n,x,sum;
    while(~scanf("%d",&n))
    {
        memset(a,0,sizeof(a));
        sum=0;
        for(i=0; i<n; i++)
        {
            cin>>x;
            a[x]++;
        }
        sum+=a[4]+a[3];
        x=a[1]-a[3];
        if(a[2]%2==0)
            sum+=a[2]/2;
        else
        {
            sum+=(a[2]+1)/2;
            x-=2;
        }
        if(x>0)
        {
            sum+=x/4;
            x=x%4;
            if(x)
            sum++;
        }
        cout<<sum<<endl;
    }
    return 0;
}


目录
相关文章
codeforces 312
A. Whose sentence is it?
51 0
codeforces 327 A Ciel and Dancing
给你一串只有0和1的数字,然后对某一区间的数翻转1次(0变1 1变0),只翻转一次而且不能不翻转,然后让你计算最多可能出现多少个1。 这里要注意很多细节 比如全为1,要求必须翻转,这时候我们只要翻转一个1就可以了,对于其他情况,我们只要计算区间里面如果0多于1,将其翻转后计算1的总数,然后取最大值。
48 0
codeforces 304A. Pythagorean Theorem II
给你一个n,计算出1 ≤ a ≤ b ≤ c ≤ n.使得由abc构成的三角形满足勾股定理,c为斜边。 没有简单的方法,直接爆力,但是要注意,有些abc满足勾股定理的表达式,但不一定是三角形,所以要判断一下,根据三角形三边的性质,两边之和大于第三边,两边之差小于第三边。
68 0
C - Rumor CodeForces - 893C
C - Rumor CodeForces - 893C
93 0
|
人工智能
Codeforces 777C Alyona and Spreadsheet
C. Alyona and Spreadsheet time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard ...
1160 0
Codeforces 591B Rebranding
B. Rebranding time limit per test:2 seconds memory limit per test:256 megabytes input:standard input output:standard output ...
857 0

热门文章

最新文章