Codeforces_446_B
http://codeforces.com/problemset/problem/446/B
分别将每行的和与每列的和存入优先队列,计算操作n次的最大和,保存每一次结果。
枚举行和列操作的次数,注意要减去补偿的值。
#include<cstdio>
#include<algorithm>
#include<queue>
#include<iostream> using namespace std;
long long a[][],r[],c[];
long long rr[],cc[];
int main()
{ int n,m,k,p;
scanf("%d%d%d%d",&n,&m,&k,&p);
for(int i = ;i <= n;i++)
{
for(int j = ;j <= m;j++)
{
scanf("%lld",&a[i][j]);
r[i] += a[i][j];
c[j] += a[i][j];
}
}
priority_queue<long long> q;
for(int i = ;i <= n;i++)
{
q.push(r[i]);
}
for(int i = ;i <= k;i++)
{
long long temp = q.top();
q.pop();
rr[i] = rr[i-]+temp;
temp -= p*m;
q.push(temp);
}
while(!q.empty())
{
q.pop();
}
for(int i = ;i <= m;i++)
{
q.push(c[i]);
}
for(int i = ;i <= k;i++)
{
long long temp = q.top();
q.pop();
cc[i] = cc[i-]+temp;
temp -= p*n;
q.push(temp);
}
long long sum = -1LL<<;
for(int i = ;i <= k;i++)
{
sum = max(sum,rr[i]+cc[k-i]-1LL*p*i*(k-i));
}
cout << sum << endl;
return ;
}
Codeforces_446_B的更多相关文章
随机推荐
- JavaScript数据类型 - Symbol
ES5:对象的属性名只能是字符串,当给对象添加新属性时,很容易造成属性名冲突,从而覆盖了原有的属性. ES6:所以ES6中引入了symbol数据类型,他表示独一无二的值,避免了属性名的冲突,此时对象的 ...
- 还看不懂同事代码?快来补一波 Java 7 语法特性
前言 Java 平台自出现到目前为止,已经 20 多个年头了,这 20 多年间 Java 也一直作为最流行的程序设计语言之一,不断面临着其他新兴编程语言的挑战与冲击.Java 语言是一种静态强类型语言 ...
- AtomicXXX系列类使用分析
本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 在java.util.concurrent.atomic ...
- Python学到什么程度可以面试工作(解答一)
本文整理了 26 个 Python 有用的技巧,将按照首字母从 A~Z 的顺序分享其中一些内容. all 或 any 人们经常开玩笑说 Python 是“可执行的伪代码”,但是当你可以这样编写代码时, ...
- Spring学习记录5——数据库事务基础知识
何为数据库事务 “一荣共荣,一损共损”这句话很能体现事务的思想,很多复杂的事务要分步进行,但它们组成了一个整体,要么整体生效,要么整体失效.这种思想反映到数据库上,就是多条SQL语句,要么全部成功,要 ...
- VMware Workstation CentOS7 Linux 学习之路(1)--系统安装
前言 很早就想学习Linux了,出去面试很多家公司都问会不会Linux,都很尴尬,一直没学过Linux,在网上也看过很多资料,也安装了VM,自己摸索着学习Linux,之前看网上的一些命令一顿操作, ...
- transient简介
当一个对象实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的 ...
- Nginx作为web静态资源服务器——防盗链
基于http_refer防盗链配置模块 Syntax:valid_referers none | blocked | server_names | string ...; Default:—— C ...
- 关于爬虫的日常复习(10)—— 实战:使用selenium模拟浏览器爬取淘宝美食
- java 运行和编译
一.编译->运行 1.编译 javac 文件名.java 生成 文件名.class 2.运行 java 文件名 注意:正在运行的是 文件名.class 因此:修改源文件后,要先编译,再运行 ...