首页 > 其他分享 >2024牛客暑假多校第三场 - A. Bridging the Gap 2

2024牛客暑假多校第三场 - A. Bridging the Gap 2

时间:2024-10-10 19:48:39浏览次数:14  
标签:Bridging min int 多校 次数 打工 go include 第三场

思路全在注释里了:

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;

const int N=5e5+5;
int n,l,r,a[N];

bool Solve()
{
	//打工次数:一个人能将其他人运过去的次数=一个人能过去以后能往返的次数 
	scanf("%d%d%d",&n,&l,&r);
	int min_go=ceil(1.0*(n-r)/(r-l)); //最小来回总次数 
	//每一趟最多运(r-l)个人;最后一趟只用过去r个人,不用回来 
	int go_work=0;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		go_work+=min(a[i]-1>>1,min_go); //一个人能打工的最大次数(-1是因为自己坐船过去需要1的体力) 
		//每个人每趟只能打工一次,一共最多也只能打工最小来回总次数次,多了的没用 
	}
	return go_work>=min_go*l;
	//所有人能打工的总次数>=最小来回总次数×每次需要打工的人的数量(=一共需要打工的次数) 
}

int main()
{
	printf("%s\n",Solve()?"Yes":"No");
	return 0;
}

标签:Bridging,min,int,多校,次数,打工,go,include,第三场
From: https://www.cnblogs.com/jerrycyx/p/18457009

相关文章

  • 多校A层冲刺NOIP2024模拟赛03
    T1.colorfu正难则反,直接枚举横行,枚举右边界,如果相同,则会对后面以及它本身统计产生\(1\)的贡献,我们直接开个桶统计一下。点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1000+107;intn,m;inta[N][N],cnt[N*N];intsum;......