贪心
如果有0先变成非0
如果负数的个数 应该变为偶数
之后就是每次将绝对值最小的值加K

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 2e5+5;
typedef long long ll;int N,K,X;
ll A[MAXN];
int tag[MAXN];
struct Node{ll x; int id;Node(ll a=0, int b=0):x(a),id(b){}bool operator <(const Node &T) const {return x > T.x;}
};
ll Abs(ll x) {if(x < 0) x *= -1;return x;
}
void doo(int id,ll num) {if(A[id] > 0) A[id] += num;else A[id] -= num;
}
priority_queue<Node> Q;
int main(){while(~scanf("%d %d %d",&N,&K,&X)) {memset(tag,0,sizeof(tag));while(!Q.empty()) Q.pop();//  int c1 = 0; int c2 = 0; int c3 = 0; // pos zero negfor(int i = 1; i <= N; ++i) {scanf("%lld",&A[i]);Q.push(Node(Abs(A[i]), i));}for(int i = 1; i <= N; ++i) {if(A[i] < 0) c3 ++; }while(K) {ll x = Q.top().x; int id = Q.top().id;Q.pop();if(x == 0) {if(~c3&1) {A[id] = -X;c3 ++;}else {A[id] = X; }}else if(~c3&1){ll tt = (x+X)/X; if(tt > K) {doo(id, -1ll*K*X);break;}else {doo(id,-1ll*tt*X); K -= tt; K++;}c3 ++;}else {doo(id,X);}
//          printf("%d %lld\n",id,A[id]);Q.push(Node(Abs(A[id]),id)); K--;}for(int i = 1; i <= N; ++i) printf("%lld ",A[i]); printf("\n");}return 0;
}

转载于:https://www.cnblogs.com/Basasuya/p/8433742.html

CF374 Maxim and Array相关推荐

  1. 【Codeforces】 Round #374 (Div. 2)

    Position:http://codeforces.com/contest/721 我的情况 开始还是rank1,秒出C.(11:00机房都走光了,我ma到11:05才走,只打了一个小时) 结果.. ...

  2. 老男孩上海校区Python面试题

    python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...

  3. php recordarray,Array 数组 - [ php中文手册 ] - 在线原生手册 - php中文网

    用户评论: [#1] florenxe [2015-10-07 18:53:45] //a nice little way to print leap years using array for ($ ...

  4. NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存

    NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...

  5. array.array python yhzf

    关于array: Python 本身没有数组这个说法, 有的就是list和tuple, list就具有其他语言中的数组特性. 至于list和tuple的区别,在于list可以在运行时修改内容和大小,t ...

  6. [JS]请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。

    请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组. 刚开始复习js题还不太习惯 CSDN上看了一个帖子,说是牛客上的标答, ...

  7. hnswlib RuntimeError: Cannot return the results in a contigious 2D array. Probably ef or M is to sma

    1. 问题现象 index = hnswlib.Index(space = '100', dim = 512) index.init_index(max_elements = 100, ef_cons ...

  8. Array 数组去重 总结10方法(7)

    1,常规双循环去重(缺点:循环次数较多) Array.prototype.unique1 = function(){if(this === null){throw new TypeError('&qu ...

  9. ECMAScript——引用数据类型之array

    array 转载于:https://www.cnblogs.com/cataway/p/4967058.html

最新文章

  1. python 自动生成C++代码 (代码生成器)
  2. 最后两天-微生物组-宏基因组分析(线上/线下同时开课,2020最后一期)
  3. JavaScript实现在线MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具-toolfk程序员在线工具网...
  4. 《疯狂JAVA讲义》3
  5. WPF 框架全构建环境虚拟机硬盘分享
  6. draw graph
  7. python 内置函数 builtins_python学习笔记(七)——内置函数
  8. 虚拟机和主机的文件共享方法
  9. 雷达发现 |最新教育行业数据报告
  10. python学习大纲-Python学习大纲,全网最清晰学习思路
  11. postgreSQL中文拼音排序
  12. 机器学习(五)——机器视觉从入门到精通只要简单这3步
  13. ALSA子系统(十三)------snd_pcm_hw_refine硬件参数重定义
  14. 简易特效制作ByUnityParticleSystem
  15. pdf横向打印java_java通过html生成pdf,支持css和图片以及横向打印
  16. 在origin中画一条Y=x的自定义函数曲线
  17. 错误集锦:在安装docker的时候,发现无法安装(没有可用软件包 docker-ce。 错误:无须任何处理)
  18. 基因xii_在Hack Week XII上运行创意
  19. 可编程逻辑控制器(PLC) : 基础、类型和应用
  20. Spring Data JPA 原理与实战第十一天 Session相关、CompletableFuture、LazyInitializationException

热门文章

  1. Linux:分享50个实用的基础命令,欢迎收藏!
  2. C#调用API弹出打印机属性对话框
  3. Web安全的三个攻防姿势
  4. 十条实用的jQuery代码片段
  5. html鼠标悬停区域拉伸,html – :将鼠标悬停在具有边框半径的div上
  6. figma下载_搬到Figma对我意味着什么
  7. 美学设计评价_死亡的孩子无法使用的设计美学
  8. Vue 3源码剖析,看这篇就够了
  9. 如何远程连接Windows和linux服务器
  10. php表单提交完返回,表单内容不清空解决方法