首页 > 其他分享 >arc139 B - Make N

arc139 B - Make N

时间:2023-01-27 22:56:01浏览次数:55  
标签:le lim Make arc139 ans ll define

题意:

三种物品,<重量,费用> 分别为 \(<1,X>,<A,Y>,<B,Z>\),求恰凑出重量 \(n\) 的最小费用

\(T\le 100, 1\le n,A,B,X,Y,Z\le 1e9\)

思路:

https://blog.csdn.net/qq_45863710/article/details/124400676

void sol() {
    ll n; cin >> n;
    vector<pair<ll, ll> > a(3); // val,cost
    #define v first
    #define c second
    a[0].v = 1; cin >> a[1].v >> a[2].v >> a[0].c >> a[1].c >> a[2].c;
    
    sort(a.begin(), a.end(), [](auto x, auto y) { //性价比从高到低
        return x.v * y.c > y.v * x.c;
    });
    
    ll ans = 1e18;
    if(a[0].v == 1) ans = n * a[0].c;
    else if(a[1].v == 1) ans = n / a[0].v * a[0].c + n % a[0].v * a[1].c;
    else {
        ll lim = n / a[0].v;
        if(lim > a[0].v - 1) lim = a[0].v - 1, swap(a[0], a[1]);
        for(ll i = 0; i <= lim; i++) {
            ll r = n - i * a[0].v;
            if(r >= 0) ans = min(ans,
                i * a[0].c + r / a[1].v * a[1].c + r % a[1].v * a[2].c);
        }
    }
    cout << ans << '\n';
}

标签:le,lim,Make,arc139,ans,ll,define
From: https://www.cnblogs.com/wushansinger/p/17069482.html

相关文章

  • Xmake v2.7.6 发布,新增 Verilog 和 C++ Modules 分发支持
    Xmake是一个基于Lua的轻量级跨平台构建工具。它非常的轻量,没有任何依赖,因为它内置了Lua运行时。它使用xmake.lua维护项目构建,相比makefile/CMakeLists.txt,配置语......
  • 「解题报告」ARC139D Priority Queue 2
    我困炸了,一个月没有六点起过床了。统计总贡献不好统计,考虑把贡献拆开统计。发现统计每个数出现次数还是不好统计,那就直接把数也拆开。对于每一个\(i\),统计\(\gei\)的......
  • abc217 F - Make Pair
    题意:\(2n\)个人从小到大标号排成一行,有\(m\)对关系\(<x,y>\)。每次可删除相邻且有关系的两人,并移动旁边的位置使队伍恢复紧凑问把所有人删完的方案数\(n\le200\)......
  • makefile是什么,它是如何工作的?
    概述当某些文件发生改变时想要执行一个执行一个任务时,make可以排上用场。Make需要一个文件名为makefile或MakeFile的文件来定义一系列将要运行的任务集。你可以使用make来......
  • Makefile 和 CMake
    Makefilehttps://makefiletutorial.com/make精髓  1,如果target存在,将不会执行;反之,则执行2,如果依赖改变,即使target存在也会重新执行makeclean注意clean不是ma......
  • 【记那些年我们链不明白的青春】Cmake常用函数一文总结
    前言以一个简短且好理解的方式记录一下常用Cmake的函数,区别于网上的那些抄来抄去。废话少,全精华。link_directorieslink_directories(${PROJECT_SOURCES_DIR}/lib)是......
  • CMake 快速入门教程 All In One
    CMake快速入门教程AllInOneCMakeCMakeisanopen-source,cross-platformfamilyoftoolsdesignedtobuild,testandpackagesoftware.CMakeisusedtocont......
  • VScode和cmake的组合拳
    cmake的基本使用1.cmake的常用指令cmake是一个跨平台的安装编译软件,可以用简单的语法规则描述所有平台的安装编译过程,下面介绍cmake的常用指令cmake_minimum_requir......
  • 准备学习 make
    make-h用法:make[选项][目标]...选项:-b,-m为兼容性而忽略。-B,--always-make无条件制作(make)所有目标。-C目录,--direc......
  • https://github.com/Abraham423/CenterPointTensorRT 的cmake
    ​​link​​cmake_minimum_required(VERSION2.8.3)project(centerpoint)set(USE_CUDATrue)#ForTensorRTsamplelib#set(TRT_ROOT/home/wanghao/Desktop/projects/T......