CF374 Maxim and Array
贪心
如果有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相关推荐
- 【Codeforces】 Round #374 (Div. 2)
Position:http://codeforces.com/contest/721 我的情况 开始还是rank1,秒出C.(11:00机房都走光了,我ma到11:05才走,只打了一个小时) 结果.. ...
- 老男孩上海校区Python面试题
python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...
- php recordarray,Array 数组 - [ php中文手册 ] - 在线原生手册 - php中文网
用户评论: [#1] florenxe [2015-10-07 18:53:45] //a nice little way to print leap years using array for ($ ...
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...
- array.array python yhzf
关于array: Python 本身没有数组这个说法, 有的就是list和tuple, list就具有其他语言中的数组特性. 至于list和tuple的区别,在于list可以在运行时修改内容和大小,t ...
- [JS]请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组. 刚开始复习js题还不太习惯 CSDN上看了一个帖子,说是牛客上的标答, ...
- 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 ...
- Array 数组去重 总结10方法(7)
1,常规双循环去重(缺点:循环次数较多) Array.prototype.unique1 = function(){if(this === null){throw new TypeError('&qu ...
- ECMAScript——引用数据类型之array
array 转载于:https://www.cnblogs.com/cataway/p/4967058.html
最新文章
- python 自动生成C++代码 (代码生成器)
- 最后两天-微生物组-宏基因组分析(线上/线下同时开课,2020最后一期)
- JavaScript实现在线MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具-toolfk程序员在线工具网...
- 《疯狂JAVA讲义》3
- WPF 框架全构建环境虚拟机硬盘分享
- draw graph
- python 内置函数 builtins_python学习笔记(七)——内置函数
- 虚拟机和主机的文件共享方法
- 雷达发现 |最新教育行业数据报告
- python学习大纲-Python学习大纲,全网最清晰学习思路
- postgreSQL中文拼音排序
- 机器学习(五)——机器视觉从入门到精通只要简单这3步
- ALSA子系统(十三)------snd_pcm_hw_refine硬件参数重定义
- 简易特效制作ByUnityParticleSystem
- pdf横向打印java_java通过html生成pdf,支持css和图片以及横向打印
- 在origin中画一条Y=x的自定义函数曲线
- 错误集锦:在安装docker的时候,发现无法安装(没有可用软件包 docker-ce。 错误:无须任何处理)
- 基因xii_在Hack Week XII上运行创意
- 可编程逻辑控制器(PLC) : 基础、类型和应用
- Spring Data JPA 原理与实战第十一天 Session相关、CompletableFuture、LazyInitializationException