zoukankan      html  css  js  c++  java
  • LightOJ 1148

    题意:http://www.lightoj.com/volume_showproblem.php?problem=1148

    每个人都有自己的朋友  给你n个人  然后就是第i个人有a[i]个朋友  问最少有多少人

    相同的叠加 计算方式向上取整   相同的统一计算 类似5 5 5 5 5  就为6人

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    #include<queue>
    #include<math.h>
    #include<string>
    #include<map>
    #include<vector>
    using namespace std;
    #define LL long long
    #define N 10006
    int a[N];
    int main()
    {
        int T,t=1;
        scanf("%d",&T);
        while(T--)
        {
            int n,ans=0,cut=0;
            scanf("%d",&n);
            for(int i=0;i<n;i++)
                scanf("%d",&a[i]);
            sort(a,a+n);
            for(int i=0;i<n;i++)
            {
                if(i==0||a[i]==a[i-1]) cut++;
                else
                {
                    int k=(cut+a[i-1])/(a[i-1]+1);
                    ans+=k*(a[i-1]+1);
                    cut=0;
                }
            }
            ans+=(cut+a[n-1])/(a[n-1]+1)*(a[n-1]+1);
            printf("Case %d: %d
    ",t++,ans);
        }
        return 0;
    }
  • 相关阅读:
    cpuset
    top
    path-lookup
    strace
    IDR算法[原理]
    cgroup
    转载
    std::reverse_iterator::base
    可重入、不可重入
    chromium code 中 普遍使用的 C++11 语法
  • 原文地址:https://www.cnblogs.com/a719525932/p/7682118.html
Copyright © 2011-2022 走看看