HDU5461 Largest Point 思维 2015沈阳icpc
Largest Point
Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 3065 Accepted Submission(s): 1078
For each test case, the first line contains three integers corresponding to n (2≤n≤5×106), a (0≤|a|≤106) and b (0≤|b|≤106). The second line contains n integers t1,t2,⋯,tn where 0≤|ti|≤106 for 1≤i≤n.
The sum of n for all cases would not be larger than 5×106.
For each test case, you should output the maximum value of at2i+btj.
3 2 1
1 2 3
5 -1 0
-3 -3 0 3 3
Case #2: 0
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <cstdio>
#include <vector>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
#define debug(a) cout << #a << " " << a << endl
#define inf 0x17a6e6736e9
using namespace std;
const int maxn = 5*1e6 + 10;
const int mod = 1e9 + 7;
typedef long long ll;
ll s1[maxn], s2[maxn];
int main() {
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
ll T, t = 0;
cin >> T;
while( T -- ) {
t ++;
ll n, a, b;
cin >> n >> a >> b;
map<ll,ll> mp;
for( ll i = 0; i < n; i ++ ) {
cin >> s1[i];
s2[i] = abs(s1[i]);
mp[s1[i]] ++;
}
sort( s2, s2+n );
sort( s1, s1+n );
ll sum = 0;
if( a > 0 ) {
sum += a*s2[n-1]*s2[n-1];
if( b > 0 ) {
if( mp[-s2[n-1]] ) {
mp[-s2[n-1]] --;
} else {
mp[s2[n-1]] --;
}
if( mp[s1[n-1]] > 0 ) {
sum += b*s1[n-1];
} else {
sum += b*s1[n-2];
}
} else if( b < 0 ) {
if( mp[s2[n-1]] ) {
mp[s2[n-1]] --;
} else {
mp[-s2[n-1]] --;
}
if( mp[s1[0]] > 0 ) {
sum += b*s1[0];
} else {
sum += b*s1[1];
}
}
} else if( a < 0 ) {
sum += a*s2[0]*s2[0];
if( b > 0 ) {
if( mp[-s2[0]] ) {
mp[-s2[0]] --;
} else {
mp[s2[0]] --;
}
if( mp[s1[n-1]] > 0 ) {
sum += b*s1[n-1];
} else {
sum += b*s1[n-2];
}
} else if( b < 0 ) {
if( mp[s2[0]] ) {
mp[s2[0]] --;
} else {
mp[-s2[0]] --;
}
if( mp[s1[0]] > 0 ) {
sum += b*s1[0];
} else {
sum += b*s1[1];
}
}
}
cout << "Case #" << t << ": " << sum << endl;
}
return 0;
}
HDU5461 Largest Point 思维 2015沈阳icpc的更多相关文章
- HDU 5451 Best Solver 数论 快速幂 2015沈阳icpc
Best Solver Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/102400 K (Java/Others)Tota ...
- Largest Point (2015沈阳赛区网络赛水题)
Problem Description Given the sequence A with n integers t1,t2,⋯,tn. Given the integral coefficients ...
- hdu 5444 Elven Postman(二叉树)——2015 ACM/ICPC Asia Regional Changchun Online
Problem Description Elves are very peculiar creatures. As we all know, they can live for a very long ...
- (并查集)Travel -- hdu -- 5441(2015 ACM/ICPC Asia Regional Changchun Online )
http://acm.hdu.edu.cn/showproblem.php?pid=5441 Travel Time Limit: 1500/1000 MS (Java/Others) Memo ...
- (二叉树)Elven Postman -- HDU -- 54444(2015 ACM/ICPC Asia Regional Changchun Online)
http://acm.hdu.edu.cn/showproblem.php?pid=5444 Elven Postman Time Limit: 1500/1000 MS (Java/Others) ...
- 2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】
Elven Postman Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- 记2017沈阳ICPC
2017沈阳ICPC 10月20日 早上十点抵达沈阳,趁着老师还没到,跑去故宫游玩了一下,玩到一点多回到宾馆,顺便吃了群里大佬说很好吃的喜家德虾饺(真的好好吃),回到宾馆后身体有点不舒服了,头晕晕的, ...
- Minimum Cut(2015沈阳online)【贪心】
Minimum Cut[贪心]2015沈阳online 题意:割最少的边使得图不连通,并且割掉的边中有且仅有一条是生成树的边. 首先,我们选择一条树中的边进行切割,此时仅考虑树上的边集,有两种情况:1 ...
- hdu5461 Largest Point(沈阳网赛)
Largest Point Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
随机推荐
- 二进制文件安装安装flannel
二进制文件安装安装flannel overlay网络简介 覆盖网络就是应用层网络,它是面向应用层的,不考虑或很少考虑网络层,物理层的问题. 详细说来,覆盖网络是指建立在另一个网络上的网络.该网络中的结 ...
- js获取手机系统语言
只需 navigator.language 就可以获取手机系统语言,要做国际化的童鞋可以看看 如图:(第一次是简体,第二次切换English),zh-CN,en-US是语言代码 更多语言代码,请查看h ...
- Spring的依赖注入和管理Bean
采用Spring管理Bean和依赖注入 1.实例化spring容器 和 从容器获取Bean对象 实例化Spring容器常用的两种方式: 方法一: 在类路径下寻找配置文件来实例化容器 [推荐使用] Ap ...
- Dubbo里面线程池的拒绝策略
Dubbo里面线程池的拒绝策略 public class AbortPolicyWithReport extends ThreadPoolExecutor.AbortPolicy { protecte ...
- [ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件对话框
本文主要介绍PyQt界面实现中常用的消息弹出对话框.提供用户输入的输入框.打开文件获取文件/目录路径的文件对话框.学习这三种控件前,先想一下它们使用的主要场景: 1.消息弹出对话框.程序遇到问题需要退 ...
- .net开源生态,WTM与NCC
天下大势,分久必合,合久必分.改朝换代都如花开花谢,过眼云烟,更别提开发语言的更迭了. 我们所坚持的,只是那最初的感动,那“只是在人群中多看了你一眼”的惊艳.三十年河东,三十年河西,不忘初心,方得始终 ...
- Oracle 存储过程批量插入数据
oracle 存储过程批量插入大量数据 declare numCount number; userName varchar2(512); email varchar2(512); markCommen ...
- Android使用com.google.android.cameraview.CameraView进行拍照
import android.Manifest;import android.annotation.SuppressLint;import android.content.Context;import ...
- 详解阿里P7架构师是怎么在Spring中实现事务暂停
摘要 Spring框架是一个流行的基于轻量级控制反转容器的Java/J2EE应用框架,尤其在数据访问和事务管理方面的能力是众所周知的.Spring的声明性事务分离可以应用到任何POJO目标对象,并且包 ...
- 安利一个免费下载VIP文档神器
今天安利给大伙一个非非非常好用的可以免费下载VIP文档的下载神器------冰点文库下载器,用过的人都说好.操作简单,小巧轻便,完全免费.支持百度.豆丁.畅享.mbalib.hp009.max.boo ...