Codeforces Round #699 (Div. 2)

本文介绍了Codeforces Round #699 (Div. 2)的比赛,包括三道题目:K-divisible Sum、Inflation和Longest Simple Cycle。K-divisible Sum要求构建一个和能被k整除且最大元素最小的数组;Inflation问题需调整价格变化以保持通胀系数不超过k%;Longest Simple Cycle涉及连接多个链以找到最长简单循环。每题分别给出了思路和代码实现。
摘要由CSDN通过智能技术生成

Codeforces Round #699 (Div. 2)

A. K-divisible Sum

You are given two integers n and k.
You should create an array of n positive integers a1,a2,…,an such that the sum (a1+a2+⋯+an) is divisible by k and maximum element in a is minimum possible.
What is the minimum possible maximum element in a?
Input
The first line contains a single integer t (1≤t≤1000) — the number of test cases.
The first and only line of each test case contains two integers n and k (1≤n≤109; 1≤k≤109).
Output
For each test case, print one integer — the minimum possible maximum element in array a such that the sum (a1+⋯+an) is divisible by k.

代码:


int T;
int main(){
   
    sd1(T);
    while(T--){
   
        LL n, k;
        sd2(n, k);
        LL ans = 0;
        if(k >= n){
   
            if(k % n == 0) ans = k / n;
            else  ans = k / n + 1;
        }
        else{
   
            if(n % k == 0){
   
                ans = 1;
            }
            else{
   
                ans = 2;
            }
        }
        cout << ans << endl;
    }
    system("pause");
    return 0;
}

B. Inflation

You have a statistic of price changes for one product represented as an array of n positive integers p0,p1,…,pn−1, where p0 is the initial price of the product and pi is how the price was increased during the i-th month.
Using these price changes you are asked to calculate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值