zoukankan      html  css  js  c++  java
  • UvaLive6442(思维、结论)

    结论是:按位置排序好以后,对于真正的答案,走法应该是:依次走向第0个等分点,第1个等分点……这样对于这种等分情况,是最优的调度。

     1 /*
     2 先假设一个终点位置然后按位站好
     3 这个位置不一定是最优所以要调
     4 调的话其实是大家共进退,所以最后要求最大值和最小值的绝对值的差要<=1
     5 */
     6 #include <cstdio>
     7 #include <algorithm>
     8 
     9 int main() {
    10     int T;
    11     scanf("%d", &T);
    12 
    13     for (int kase = 1; kase <= T; kase++) {
    14 
    15         int n, m, a[20005];
    16         scanf("%d %d", &n, &m);
    17         for (int i = 0; i < m; i++)
    18             scanf("%d", &a[i]);
    19 
    20         std::sort(a, a + m);
    21 
    22         int maxx = -1e9 + 5, minn = 1e9 + 5;
    23         for (int i = 0; i < m; i++) {
    24             a[i] -= i * (n / m);
    25             maxx = std::max(maxx, a[i]);
    26             minn = std::min(minn, a[i]);
    27         }
    28 
    29         printf("Case #%d: %d
    ", kase, (maxx - minn + 1) >> 1);
    30     }
    31 
    32     return 0;
    33 }
  • 相关阅读:
    Linux安装telnet
    linux 打压缩包
    JAVA读写文件
    LINUX安装NGINX
    Linux安装JDK
    java判断字符串中是否包含中文 过滤中文
    操作MySQL
    Java序列化对象-字符串转换
    nginx
    linux操作命令
  • 原文地址:https://www.cnblogs.com/AlphaWA/p/10625243.html
Copyright © 2011-2022 走看看