hdu—1008

yyf的家庭影院

Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 0    Accepted Submission(s): 0


Problem Description
yyf是全机房最有钱的土豪,独自拥有一个家庭影院。有一天yyf想要请他的女朋友们(如:椎名真白,雪之下雪乃,宫园薰,以及楪祈等等)一起看新出的电影,于是花重金购买了《kimi no na wa》。
yyf的女朋友们对椅子的扶手有特别的要求。有的要有左边的扶手用才开心,有的要有右边的扶手用才开心,有的要两边的扶手都给自己用才开心,还有一些觉得扶手无所谓,只要能到yyf家看电影就很开心(吃惊!)。
yyf的家庭影院的座位只有一排N个位置(电影院中两个相邻的位置之间是共用一个扶手)。现在yyf想要邀请尽可能多的女朋友来家中看电影,并且使她们感到开心,从而增加对自己的好感度。由于yyf忙于肝阴阳师,就花重金来请你来计算,他可以最多邀请几位女朋友一起来看这部电影。
 

Input
第一行输入一个N,代表家庭影院的位置数目;
第二行输入四个整数:a,b,c,d。代表yyf有a个喜欢左边扶手的女朋友,b个喜欢右边扶手的女朋友,c个同时喜欢左右两个扶手的女朋友,d个只要和来yyf家看电影就很开心的女朋友。
其中N,a,b,c,d均在1~ 1010
 

Output
本场电影yyf最多可以邀请多少个女朋友。
 

Sample Input
  
  
10 2 2 4 2 10 10 10 10 10
 

Sample Output
  
  
9 10
Hint
注意输入输出使用__int64 __int64 a; printf("%I64d\n",a); scanf("%I64d",&a);
【分析】
贪心...显然需要左手的妹子坐最左边的话,对整个座位是没有影响的,所以需要左手的妹子坐左边,需要右手的妹子坐右边,需要单手的妹子坐完之后,如果还有位置剩余,那就给双手的妹子坐,双手的妹子隔着坐就好了,然后多出来的位置让没有需求的妹子补上
// 作为一只肥宅的我表示...为什么肥宅会有女朋友,还是女朋友"们",女朋友个数居然有4*10^10????这个肥宅怕是要上天了...
【代码】
#include <cstdio>
#include <cstring>
#include <iostream> 
#include <algorithm>
using namespace std;
int main()
{
    __int64 N,a,b,c,d;
    while (~scanf("%I64d%I64d%I64d%I64d%I64d",&N,&a,&b,&c,&d))
    {
        __int64 ans=a+b;
        if (a+b+d>=N) 
        {
            printf("%I64d\n",N);
            continue;
        }
        N-=ans;
        if (((N+1)/2)<c) ans+=(N+1)/2,N-=(N+1)/2;
        else ans+=c,N-=c;
        if (N>d) ans+=d;
        else ans+=N;
        printf("%I64d\n",ans);
    }
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值