当前位置:网站首页>Haut OJ 1241: League activities of class XXX
Haut OJ 1241: League activities of class XXX
2022-07-05 05:17:00 【hunziHang】
Problem description :
The once-a-month League event has come again , This activity is an outing , But? , The League branch secretary immediately poured cold water , It is said that our destination is on an island across the sea , You need to take a canoe to get to the island , A canoe can only take two people at most , And the total weight of passengers shall not exceed the maximum carrying capacity of the canoe . And the rental of canoes is very expensive , The class fee is limited .. We should try to reduce the cost of this activity , So find out the minimum number of canoes that can accommodate all students ,ykc I really want to go on this outing , Can you write a program to help him find out the minimum number of canoes to rent ?
Input :
First line input s, Number of groups representing test data ;
The first row of each set of data includes two integers w,n,80<=w<=200,1<=n<=300,w It is the maximum carrying capacity of a canoe ,n For the number of people ;
The next set of data is the weight of each person ( Not more than the carrying capacity of the ship );
Output :
The minimum number of canoes to rent per group
The sample input :
3 85 6 5 84 85 80 84 83 90 3 90 45 60 100 5 50 50 90 40 6
Sample output :
5 3 3
Cause analysis :
First, arrange the array from small to large , You can choose a largest and a smallest group of a boat , Notice the last if i=k, There is only one person left +1
Solution :
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[205];
int n,w,i,t,ans,k;
scanf("%d",&t);
while(t--)
{
ans=0;k=1;
scanf("%d%d",&w,&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+n+1);
for(i=n;i>=k;i--)
{
if(a[i]>=w)
ans++;
else
{
while(a[i]+a[k]<=w && i>k)
{
ans++;
k++;
i--;
}
if(a[i]+a[k]>w && i>k)
ans++;
if(i==k)
ans++;
}
}
printf("%d\n",ans);
}
}
边栏推荐
猜你喜欢
随机推荐
Unity enables mobile phone vibration
Unity synergy
嵌入式数据库开发编程(五)——DQL
Unity ugui source code graphic
Transport connection management of TCP
[depth first search] 695 Maximum area of the island
[turn to] MySQL operation practice (III): table connection
cocos2dx_ Lua card flip
Generate filled text and pictures
Reverse one-way linked list of interview questions
Count sort
Insert sort
Lua GBK and UTF8 turn to each other
[to be continued] [UE4 notes] L1 create and configure items
UE 虚幻引擎,项目结构
Do a small pressure test with JMeter tool
Out and ref functions of unity
远程升级怕截胡?详解FOTA安全升级
To be continued] [UE4 notes] L4 object editing
C iterator