Codeforces Round #730 (Div. 2)

https://codeforc.es/contest/1543

A. Exciting Bets题目大意

刚开始两人手上有a 和 b 元,每次可以增加或减少1元
问最大公因数以及取得最大公因数的最小步骤。
额,题目读错了,以为是求最大公因数和最小公因数,想了想有最小公因数这种东西吗???离谱


题解

最 大 公 因 数 就 是 ∣ a − b ∣ 如 何 快 速 达 到 k ∗ ∣ a − b ∣   判 断 a 先 到 达 还 是 g 先 到 达 最大公因数就是|a-b| 如何快速达到 k * |a-b| \\\ \\ 判断a先到达还是g先到达 最大公因数就是∣a−b∣如何快速达到k∗∣a−b∣ 判断a先到达还是g先到达

ll g = abs(a-b); 
ll _min = min(a%g, g-a%g); 

代码

#include <bits/stdc++.h>

using namespace std;
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        long long a,b;
        scanf("%lld %lld",&a,&b);
        if(a==b) printf("0 0\n");
        else{
            long long g = abs(a-b);
            long long c = min((a%g),(g-a%g));
            printf("%lld %lld\n",g,c);
        }

    }
    return 0;
}

B. Customising the Track题目大意

optimal 最佳的

evenly 均匀的

移动卡车,找到最小的阻塞程度


题解

根 据 公 式 , 应 该 尽 可 能 平 均 分 布 。 模 拟 一 下 发 现 , 有 k 个 管 道 的 车 辆 为   p − 1 有 n − k 个 管 道 的 车 辆 为   p 根据公式,应该尽可能平均分布。\\ 模拟一下发现,\\ 有k个管道的车辆为 \ p-1\\ 有n-k个管道的车辆为 \ p 根据公式,应该尽可能平均分布。模拟一下发现,有k个管道的车辆为 p−1有n−k个管道的车辆为 p
k 的求法 sum % n


代码

#include <iostream>
using namespace std;

int main()
{
     int t;
     scanf("%lld",&t);
     while(t--)
     {
          long long n; 
          scanf("%lld",&n);
          long long sum = 0;
          for(int i=0;i<n;i++) 
          {
               int c;
               cin >> c;
               sum += c;
          }
          long long k = sum % n;
          printf("%lld\n",k*(n-k));
     }
}

题目大意


题解


代码



题目大意


题解


代码



上一篇:1096 Consecutive Factors (20 分)


下一篇:1069:乘方计算