救救我吧!
查看原帖
救救我吧!
1267066
yi18600361898楼主2024/8/19 15:03
#include <bits/stdc++.h>
using namespace std;
int n,x,y,a,b,s0,s1;//s0表示没有有礼物的次数,s1反之;
int feng,zhi,zong;
int eve[1000010];  //表示打开第i封信后的惊喜值
int main(){
    cin>>n>>x>>y>>a>>b;
    //进行模拟
    for(int i=1;i<=n;i++){
        cin>>feng>>zhi>>zong;
        int he=zhi*y-feng*x,jing=zong-he; //计算出礼物的重量和其余重量
        if(jing==0)  s0++; //如果没有礼物,s0次数++;
        else{              //否则s0归零,s1++;
            s1++,s0=0;
        }
        if(s0>=b) eve[i]=eve[i-1]/2;
        else{
        	if(jing==0)  eve[i]=eve[i-1];
        	else{
            	eve[i]=eve[i-1]+jing;
            	if(jing>he) eve[i]+=ceil(jing*0.5);
            	if(s1>=a)  eve[i]*=2;
            }
        }
    }
    int maxn=-1;
    for(int i=1;i<=n;i++){
        if(maxn<eve[i])  maxn=eve[i];
    }
    cout<<maxn<<' '<<eve[n];
    return 0;
}
2024/8/19 15:03
加载中...