0
已解决
3283 鱼缸 (fishbowl)
题目描述 Description
下午,爸爸和酷町猫满载而归。他们总共钓了n条鱼,这些鱼有大有小。由于这些鱼太多了,一时吃不完,所以酷町猫
打算把这些鱼都放到鱼缸里养起来。这时爸爸却和酷町猫说:“大鱼吃小鱼,小鱼吃虾米,你不能把大鱼和小鱼放在同
一个鱼缸里,不然大鱼可能会把小鱼吃掉的,每个鱼缸里最多只能装下4条鱼”。这样一来可难倒酷町猫了,请你帮
酷町猫算一下,最少需要多少个鱼缸,才能把这些鱼分开装下。
输入描述 Input Description
第一行输入一个正整数n(100<=n<=100000),表示鱼的数量
第二行输入n个空格隔开的正整数,分别表示第i条鱼的重量wi(1<=wi<=1000)。
输出描述 Output Description
输出一个正整数,表示最少需要的鱼缸数量。
样例输入 Sample Input
样例输入1
5
1 2 3 4 5
--------------------------------------------------------------------------
样例输入2
10
1 3 3 3 3 3 2 5 5 1
样例输出 Sample Output
样例输出1
5
--------------------------------------------------------------------------
样例输出2
5
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<ctime>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int n,a,sum[1005],k=0;
int main()
{
cin>>n;
for(int i=0;i<n;i++){
cin>>a;
sum[a]++;
}
for(int i=0;i<1000;i++){
if(sum[i]>4){
k+=sum[i]/4+1;
}
else if(sum[i]>0){
k++;
}
}
cout<<k;
return 0;
}
许金夫在2020-04-10 22:35:01追加了内容
自顶一下