洛谷 B3781 [语言月赛202306] 信

#include <iostream>
#include<bits/stdc++.h>
using namespace std; 
int main(int argc, char** argv) 
{
    // 信件数,由于信封和信纸都很薄,每平方厘米信封的重量为 x 毫克,每平方厘米信纸的重量为 y 毫克以及a和b 
    long long n,x,y,a,b;
    cin>>n>>x>>y>>a>>b;
    //两个循环变量,计数收到礼物的次数,计数不收到礼物的次数 
    int i,j,numa=0,numb=0;
    // 总面积,信纸面积,总质量 
    int S,s,M;
    //最大惊喜值,总的惊喜值 
    long long max=0,sum=0;
    //礼物重量,信件重量 
    long long preweight,mailweight;
    while(n--)
     {
         cin>>S>>s>>M;
         mailweight=x*S+y*s;
         preweight=M-mailweight;
        if(preweight>0)
         {
             numb=0;//题目要求连续 
             numa++;
            if(numa>=a)
              {
                  if(preweight>mailweight)
                   sum=(sum+ceil(1.5*preweight))*2;
                 else
                  sum=(sum+preweight)*2;
             }
            else if(preweight>mailweight)
              sum=sum+ceil(1.5*preweight);
             else
             sum=sum+preweight;
            if(max<sum)
              max=sum;
         }
         else
          {
               numb++;
               numa=0;//题目要求连续
               if(numb>=b)
                sum=sum/2;
          }
     }
     cout<<max<<" "<<sum;
    return 0;
}

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值