小白月赛69C

题目链接https://ac.nowcoder.com/acm/contest/52441/C

描述

牛牛打 CF,已知一场比赛有 nn 道题,第 ii 道题的满分为 aiai​,时间系数为 bibi​,保底分为 cici​,本场比赛中每次错误提交罚 pp 分。即如果牛牛在第 xx 分钟,这道题 yy 次错误提交后通过第 ii 题,他将获得 max(ci,ai−x×bi−y×p)max(ci​,ai​−x×bi​−y×p) 分。比赛持续 tt 分钟,即在 tt 分钟(含第 tt 分钟)内做出的题目计入总分。你已经知道了他第 ii 题需要花费的时间 xixi​ 和错误提交次数 yiyi​ ,请求出牛牛可能的最大得分。

输入描述:

第一行三个正整数 n,t,p(1≤n≤9,1≤t,p≤109)n,t,p(1≤n≤9,1≤t,p≤109)。
接下来 nn 行,每行 55 个正整数 ai,bi,ci,xi,yi(0≤ai,bi,ci,xi,yi≤109,ci≤ai)ai​,bi​,ci​,xi​,yi​(0≤ai​,bi​,ci​,xi​,yi​≤109,ci​≤ai​)。

输出描述:

一行一个正整数,表示可能的最大得分。

示例1

输入

3 120 50
500 2 150 6 1
1000 4 300 12 2
1500 6 450 120 3

输出

1266

说明

方案一:先开第 33 题,在 120120 分钟时切掉,得到 1500−120×6−50×3=6301500−120×6−50×3=630 分。此时已无法继续切题,总分 630630。

方案二:先开第 11 题,在 66 分钟时切掉,得到 438438 分。再开第 22 题,在 1818 分钟时切掉,得到 828828 分。无法切第三题,总分 12661266。

方案三:先开第 22 题,在 1212 分钟时切掉,得到 852852 分。再开第 11 题,在 1818 分钟时切掉,得到 414414 分。无法切第三题,总分 12661266。

故可能的最大得分为 12661266。

ac代码

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N = 13;
const int T = 1e9;
ll a[N],b[N],c[N],x[N],y[N],vis[N];
ll n,t,p;
ll ans = 0;
void dfs(int now,ll cost,int ti,int sum)
{
    if(sum == n || ti == t)
    {
        ans = max(cost,ans);
        return ;
    }

    for(int i=1;i<=n;i++)
    {
        if(!vis[i])
        {
            if(ti+x[i]>t)
            {
                ans = max(ans,cost);
                continue ;
            }
            vis[i] = 1;
            dfs(i,cost+max(c[i],a[i]-(x[i]+ti)*b[i]-y[i]*p),ti+x[i],sum+1);
            vis[i] = 0;
        }
    }
}

int main(){

    cin>>n>>t>>p;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i]>>b[i]>>c[i]>>x[i]>>y[i];
    }
    memset(vis,0,sizeof(vis));//vis置零
    dfs(0,0,0,0);
    cout<<ans<<'\n';

    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值