zoukankan      html  css  js  c++  java
  • codeforces school mark(贪心)

     1 ///太渣,看了题解才知道怎么做,自己想感觉想不清楚
     2 ///题解:首先在给出的序列里判断小于median的个数,若大于(n-1)/2,则不满足,否则看另一个条件
     3 ///这样我们可以把中位数左边还要添加的数字构造成1,右边的数字全构造成median,这样中位数保证不会小于y,再看总和是否超过即可
     4 #include<iostream>
     5 #include<stdio.h>
     6 #include<string>
     7 #include<vector>
     8 using namespace std;
     9 int main()
    10 {
    11 
    12     int a,n,p,k,x,y,low = 0,sum = 0;
    13     cin>>n>>k>>p>>x>>y;
    14     for(int i = 0 ; i<k ; i++)
    15     {
    16         cin>>a;
    17         if(a<y) low++;
    18         sum += a;
    19     }
    20     if(low>(n-1)/2) printf("-1
    ");
    21     else
    22     {
    23         int left = min((n-1)/2-low,n-k);
    24         ///如果不加min 9 7 2 14 1
    25         ///            2 2 2 1 1 2 2 这组数据会出错误
    26         int right = n-k - left;
    27         if(left+y*right+sum>x) printf("-1
    ");
    28         else
    29         {
    30           vector<int> v;
    31           for(int i = 0;i<left;i++)
    32             v.push_back(1);
    33           for(int i = 0;i<right;i++)
    34             v.push_back(y);
    35             int len = v.size();
    36           for(int i = 0;i<len;i++)
    37             printf("%d%s",v[i],i==len-1?"
    ":" ");
    38         }
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    tf.nn.in_top_k的用法
    随机初始化值randint,rand,tf.random_normal,tf.random_uniform
    归一化输入向量
    softmax函数理解
    梯度下降与反向传播
    深度学习-初始化权重矩阵
    学习--流畅的Python
    基础函数学习
    eclipse
    初学python
  • 原文地址:https://www.cnblogs.com/jiachinzhao/p/4546950.html
Copyright © 2011-2022 走看看