A. Good Pairs

编程入门 行业动态 更新时间:2024-10-21 15:42:30

A. Good Pairs

在数组中找两个数 ai, aj,使得对所有的k(1<=k<=n),|ai-ak|+|ak-aj|=|ai-aj|成立

思路

有不等式|a-c|+|c-b|≥|a-b|,当且仅当a>c>b时,等号成立。
证明:将绝对值去掉,a-c+c-b == a-b,证毕。

也可以将a、b、c看做坐标轴上的点。

所以找到最大值和最小值的下标就行。

代码

#include<bits/stdc++.h>using namespace std;int main() {int t;cin >> t;while(t--) {int n;cin >> n;int minv = 1e9+1;int maxv = -1;int mini;int maxi;for(int i=0; i < n; ++i) {int a;cin >> a;if(a > maxv) {maxi = i+1;maxv = a;}if(a < minv) {mini = i+1;minv =  a;}}cout << mini << " " << maxi << endl;}}

更多推荐

Good,Pairs

本文发布于:2023-05-28 06:55:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/315106.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Good   Pairs

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!