首页 > 其他分享 >CF 1860 B

CF 1860 B

时间:2023-09-07 19:14:55浏览次数:34  
标签:硬币 ak CF tot a1 1860 now ll

Fancy Coins

这道题使用贪心。

先使用a1个常规硬币,补足m%k的金额,不够的使用花色硬币补上,并最大化a1硬币的价值。再计算剩余需要价值为k的硬币数量,不够的使用花色硬币补足,并输出总共使用的花色硬币数量。

代码

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;

ll t, m, k, a1, ak;

int main()
{
    std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> t;
    while(t--)
    {
        ll tot = 0;
        cin >> m >> k >> a1 >> ak;
        ll now = m;
        if(a1 < m % k)
        {
            tot += m % k - a1;
            now -= now % k;
        }
        else
        {
            now -= now % k + ((a1 - now % k) / k) * k;
        }
        if(ak * k < now)
        {
            tot += now / k - ak;
        }
        cout << tot << endl;
    }
    return 0;
}

标签:硬币,ak,CF,tot,a1,1860,now,ll
From: https://www.cnblogs.com/tongluosao/p/17685827.html

相关文章

  • CF 1860 C【最大上升子序列】
    C.GameonPermutation这道题需要求出先手必胜点通过分析可知,每个位置结尾的最大上升子序列长度为2的点为先手必胜点,≥3的点为先手必败点。即只需要求出以每个位置为结尾的最大上升子序列长度为2的点的数量即可求出答案。本题目的n(1≤n≤3⋅105),所以无法使用O(n2)的方法,因此......
  • CF893F
    CF893F首先,我们发现,这个题只需要子树内的答案,且只需要维护最小值。注意到对于两个点\(i,j\),若\(dep_i>dep_j\),且\(val_i\geval_j\),则对于\(lca(i,j)\)及其它的父亲,\(i\)都是一个无用的点。注意到\(n\le10^5,m\le10^6\),这启发我们进行预处理以做到\(O(\logn)\)单次......
  • 中国科教工作者协会与CCF PTA联合认证学习须知
    中国科教工作者协会与CCFPTA联合认证学习须知1、参与认证人员需在科技学堂(www.sciclass.cn)上进行课程学习,然后在PTA官网(pta.ccf.org.cn)报名并参加认证考试,考试及课程学习达标者,即可获得由中国青少年科技教育工作者协会与中国计算机学会联合颁发的认证证书。具体报名流程及认......
  • CF1374E2 Reading Books(hard version) 题解
    CF1374E2ReadingBooks(hardversion)这道题是在CF1374E1ReadingBooks(easyversion)的基础上出的,而且仅仅增加了一个\(m\)的限制,下面的做法也是基于简单版的思路而想到的。建议先尝试简单版,然后尝试此题。题意简述:有\(n\)本书,每本书有一个阅读时间\(t_i\),和属性\(......
  • 9.6 CF1830 题解
    9.6CF1830题解A.CopilCopacDrawsTrees链接真弱智题不用讲B.TheBOSSCanCountPairs题意每组数据给你一个\(n\)和两个序列\(a,b\)。求有多少个数对\((i,j)\)满足\(1\lei<j\len\)且\(a_i\timesa_j=b_i+b_j\)。题解考虑\(a_i\timesa_j=b_i......
  • CF665F
    题目链接description给定\(n\leq10^{11}\)求1到\(n\)中恰有4个因数的数的个数。solution这个数据范围容易想到筛子。题目相当于让求1到\(n\)中可以表示成\(p^3\)或\(p_1p_2\)(\(p,p_1,p_2\)都是质数)的数的个数。对于形如\(p^3\)的,直接枚举\(p\);对于......
  • CF1036F
    题目链接description\(10^5\)次询问每次给定\(n\leq10^{18}\),求2到\(n\)内质因子分解结果为\(p_{a_1}^{b_1}p_{a_2}^{b_2}...\),且\(\gcd(b1,b2...)=1\)的数的个数。solution显然答案为\(\sum\limits_{i=1}\mu(i)\lfloor\sqrt[i]{n}-1\rfloor\)。直接用cmath......
  • CF1174E
    题目链接description给定\(n\leq10^6\),求有多少个\(1\)到\(n\)的排列,对于一个1到\(n\)的排列\(p\),\(f(p)\)表示\(p\)的任意前缀内的元素的最大公约数构成的集合的大小。求有多少个排列\(p_0\)满足\(f(p_0)=\max\{f(p)\}\)。模大质数。solution容易发现,这......
  • CF1852C Ina of the Mountain
    *2400https://codeforces.com/problemset/problem/1852/C如果没有\(\modk\)的限制的话,我们都会做,因为都是正数,那么\(\sum_i^nd_i>0\),因此,答案即为\(\sum[d_i>0]d_i\)。但是现在多了一个操作,即为区间加\(k\),那么转到差分数组就是\(d_l+k,d_r-k\),且该操作不花费。观察,差......
  • 【题解】CF2600DP 选练(23.9.5-23.9.6)
    低情商:感觉是比较套路的高情商:十分educational!!!CF258DLittleElephantandBrokenSorting题目描述:有一个\([1,n]\)的排列\(a\),会进行\(m\)次操作,操作为交换\((a_i,a_j)\)。每次操作都有\(50\%\)的概率进行。求进行\(m\)次操作以后的期望逆序对个数。\(n,m\le1......