当前位置:网站首页>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);
}
}
边栏推荐
- Embedded database development programming (VI) -- C API
- Unity and database
- C iterator
- Double pointer Foundation
- [to be continued] [UE4 notes] L1 create and configure items
- 用 Jmeter 工具做个小型压力测试
- GBase数据库助力湾区数字金融发展
- The difference between heap and stack
- Ue4/ue5 illusory engine, material chapter, texture, compression and memory compression and memory
- Es module and commonjs learning notes -- ESM and CJS used in nodejs
猜你喜欢
【论文笔记】Multi-Goal Reinforcement Learning: Challenging Robotics Environments and Request for Research
Download and use of font icons
Grail layout and double wing layout
LeetCode之單詞搜索(回溯法求解)
JVM call not used once in ten years
2022/7/2做题总结
UE 虚幻引擎,项目结构
Research on the value of background repeat of background tiling
Unity ugui source code graphic
Applet live + e-commerce, if you want to be a new retail e-commerce, use it!
随机推荐
质量体系建设之路的分分合合
Use the command character to close the keyboard command of the notebook
Basic knowledge points of dictionary
PMP考生,请查收7月PMP考试注意事项
Bucket sort
Common technologies of unity
[speed pointer] 142 circular linked list II
Development error notes
A three-dimensional button
Under the national teacher qualification certificate in the first half of 2022
Leetcode word search (backtracking method)
C iterator
[to be continued] [UE4 notes] L3 import resources and project migration
The next key of win generates the timestamp file of the current day
[sum of two numbers] 169 sum of two numbers II - enter an ordered array
Unity writes timetables (without UI)
Unity check whether the two objects have obstacles by ray
[paper notes] multi goal reinforcement learning: challenging robotics environments and request for research
Vs2015 secret key
The present is a gift from heaven -- a film review of the journey of the soul