博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-5461 Largest Point
阅读量:4123 次
发布时间:2019-05-25

本文共 1135 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
using namespace std; const int n_max = 5e6 + 5; int t, n, a, b; struct node { long long data; int id; bool operator < (const node Next) const { return data < Next.data; } } A[n_max], B[n_max];int main(){ scanf("%d", & t); int cas = 0; while(t --) { scanf("%d %d %d", & n, & a, & b); long long temp; for(int i = 0; i < n; i ++) { scanf("%I64d", & temp); A[i].data = a * temp * temp; B[i].data = b * temp; A[i].id = B[i].id = i; } sort(A, A + n); sort(B, B + n); printf("Case #%d: ", ++ cas); if(A[n - 1].id != B[n - 1].id) printf("%I64d\n", A[n - 1].data + B[n - 1].data); else printf("%I64d\n", max(A[n - 1].data + B[n - 2].data, A[n - 2].data + B[n - 1].data)); } return 0;}

输入 n a b。之后第二行输入n 个整数t0, t1, t2, t3..tn-1…之后输出方程a * ti * ti + b * tj (i != j)的最大值。

题解:

参考了AC_Gibson的专栏,这确实好水..当时怎么没想到..就是用两个数组 A[] B[] 分别存 a * ti * ti 和 b * tj。排序讨论下AB数组最后2个值即可。(注 : 中间的temp 要用 long long 否则WA)。

转载地址:http://bjtpi.baihongyu.com/

你可能感兴趣的文章
Windows 环境下Webstorm 2020.3 版本在右下角找不到Git分支切换部件的一种解决方法
查看>>
Electron-Vue项目中遇到fs.rm is not a function问题的解决过程
查看>>
飞机换乘次数最少问题的两种解决方案
查看>>
有向无回路图的理解
查看>>
设计模式中英文汇总分类
查看>>
WPF实现蜘蛛纸牌游戏
查看>>
单例模式
查看>>
工厂方法模式
查看>>
模板方法模式
查看>>
数据结构之队列、栈
查看>>
数据结构之树
查看>>
数据结构之二叉树
查看>>
二叉树非递归遍历算法思悟
查看>>
红黑树算法思悟
查看>>
从山寨Spring中学习Spring IOC原理-自动装配注解
查看>>
实例区别BeanFactory和FactoryBean
查看>>
Spring后置处理器BeanPostProcessor的应用
查看>>
Spring框架的ImportSelector到底可以干嘛
查看>>
Mysql中下划线问题
查看>>
微信小程序中使用npm过程中提示:npm WARN saveError ENOENT: no such file or directory
查看>>