• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

.yin

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Educational Codeforces Round 103 (Rated for Div. 2) A.K-divisible Sum+B.Inflation+C.Longest Simple Cycle题解

 

A. K-divisible Sum(可分割总和)

 

 

题意:给两个数字n,k,构造一个有n个数的数组使得数组的总和可以整除k,且要使这个数组中的每个数尽可能的小,输出数组中的最大值;

思路:这题分两种情况

       一:k<=n ;这种情况也分为两种;

                   1.是n%k==0,这个时候数组中的数字都为1就可以整除k所以直接输出1;

                   2 当n%k!=0的时候,数组中的元素可以由若干个1和若干个2组成,所以输出2;

      二:k>n:       k/n向上取整就是答案

#include<iostream>
using namespace std;
int main()
{
    int t;
    cin>>t;
      while(t--){
      int n,k;
      cin>>n>>k;
     if(n<=k)
         {
        int res=k%n?(k/n+1):(k/n);
        cout<<res<<'\n';
        }//这样可以向上取整
        else{
        int ans=n%k?2:1;
        cout<<ans<<'\n';
      }
  }
  return 0;
}

 

posted on 2021-01-31 22:21  .yin  阅读(48)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3