zoukankan      html  css  js  c++  java
  • 100197G Robbers

    传送门

    题目大意

    看式子懂题意系列...

    分析

    自然想到我们先按比例下取整得到一个值,再按每个人这样分配所产生的值从大到小排序,然后将剩下的几个金币自大到小每人分配一个,代码挺好理解的,详见代码。

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<queue>
    #include<ctime>
    #include<vector>
    #include<set>
    #include<map>
    #include<stack>
    using namespace std;
    #define li long long
    #define pb push_back
    #define mp make_pair
    #define y1 y12345678909
    #define rii register int
    #define pii pair<int,int>
    #define r(x) scanf("%d",&x)
    #define ck(x) cout<<x<<endl;
    #define uli unsigned long long
    #define sp cout<<"---------------------------------------------------"<<endl
    struct node {
          int d,no;
    }a[110000];
    int ans[110000];
    inline bool cmp (const node x,const node y){
          return x.d<y.d;
    }
    int main(){
          freopen("input.txt","r",stdin);
          freopen("output.txt","w",stdout);
          int n,m,i,z,y,all,x;
          r(n),r(m),r(y);
          all=m;
          for(i=1;i<=n;i++){
              r(x);
            z=x*m;
            ans[i]+=z/y;
            all-=ans[i];
            z%=y;
            a[i].d=z;
            a[i].no=i;
          }
          sort(a+1,a+n+1,cmp);
          for(i=n-all+1;i<=n;i++)
            ans[a[i].no]++;
          for(i=1;i<=n;i++)
            printf("%d ",ans[i]);
          puts("");
          return 0;
    }
  • 相关阅读:
    Android之Handler
    错误一览表
    Android ImageView 的scaletype属性详细介绍 转
    Adobe Flash/Dreamweaver/Fireworks CS3 软件不能安装问题
    MySQL修改表属性的SQL语句
    Apache与Tomcat整合
    mySQL常用SQL语句技法
    今天第一次写博客
    Tomcat+JSP经典配置实例
    整合Apache+Tomcat服务器2
  • 原文地址:https://www.cnblogs.com/yzxverygood/p/9370176.html
Copyright © 2011-2022 走看看