hdu 5461 Largest Point
来源:互联网 发布:算法艺术与信息学竞赛 编辑:程序博客网 时间:2024/05/29 04:48
Given the sequence A A with n n integers t 1 ,t 2 ,⋯,t n t1,t2,⋯,tn. Given the integral coefficients a a and b b. The fact that select two elements t i ti and t j tj of A A and i≠j i≠j to maximize the value of at 2 i +bt j ati2+btj, becomes the largest point.
For each test case, the first line contains three integers corresponding to
The sum of
For each test case, you should output the maximum value of
23 2 11 2 35 -1 0-3 -3 0 3 3
Case #1: 20Case #2: 0
按照ab的符号分好四种情况就可以了
ac代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;long long a1[5000005];int main(){ long long n,a,b,t; cin>>t; int p=0; while(t--) { p++; cin>>n>>a>>b; cin>>a1[0]; long long max1=abs(a1[0]),min1=abs(a1[0]),max2=a1[0],min2=a1[0]; if(a<=0&&b<=0) { int k=0; for(int i=1;i<n;i++) { scanf("%lld",&a1[i]); if(abs(a1[i])<min1) {min1=abs(a1[i]);k=i;} } int flag=0; for(int i=1;i<n;i++) { if(a1[i]<min2&&i!=k) { min2=a1[i]; } } printf("Case #%d: %lld\n",p,a*min1*min1+b*min2); } if(a<=0&&b>0) { int k=0; for(int i=1;i<n;i++) { scanf("%lld",&a1[i]); if(abs(a1[i])<min1) {min1=abs(a1[i]);k=i;} } for(int i=1;i<n;i++) if(a1[i]>max2&&i!=k) max2=a1[i]; printf("Case #%d: %lld\n",p,a*min1*min1+b*max2); } if(a>0&&b<=0) { int k=0; for(int i=1;i<n;i++) { scanf("%lld",&a1[i]); if(abs(a1[i])>max1) {max1=abs(a1[i]);k=i;} } for(int i=1;i<n;i++) { if(a1[i]<min2&&i!=k) min2=a1[i]; } printf("Case #%d: %lld\n",p,a*max1*max1+b*min2); } if(a>0&&b>0) { int k=0; for(int i=1;i<n;i++) { scanf("%lld",&a1[i]); if(abs(a1[i])>max1) {max1=abs(a1[i]);k=i;} } for(int i=1;i<n;i++) { if(a1[i]>max2&&i!=k) max2=a1[i]; } printf("Case #%d: %lld\n",p,a*max1*max1+b*max2); } } return 0;}
阅读全文
0 0
- hdu 5461 Largest Point
- HDU 5461 Largest Point
- hdu 5461 Largest Point
- HDU 5461Largest Point
- HDU-5461 Largest Point
- hdu 5461 Largest Point
- HDU 5461:Largest Point
- hdu 5461 Largest Point
- HDU 5461 Largest Point
- hdu 5461 Largest Point
- HDU 5461 Largest Point
- hdu 5461 Largest Point
- HDU 5461 Largest Point (水题)
- hdu 5461 Largest Point(水)
- hdu 5461 Largest Point 【贪心】
- HDU 5461 Largest Point 水题
- HDU 5461 Largest Point (水)
- hdu 5461 Largest Point(暴搞)
- LeetCode 617. Merge Two Binary Trees
- 创建servlet的三种方式
- Java声明变量并赋值
- ActiveMQ(4)
- Leetcode 84. Largest Rectangle in Histogram
- hdu 5461 Largest Point
- 用JS语言编写计算机
- liunx 学习笔记-1
- 纯Java配置使用slf4j配置log4j
- 初识java 数据类型 标识符命名
- Java多线程学习(吐血超详细总结)
- mybatis学习之数据模型分析思路
- 阿里“百技”感言
- 在 linux 下使用 CMake 构建应用程序