又水一题
题目大意就是给出一个长度为n的序列,找出两个整数Ai和Aj(i<j)使得Ai – Aj尽量大。
很水吧?
设个m,为当前最大值,t为输入的数,差取t-m和原来差较大的一个。
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m,t,diff;
scanf("%d%d%d",&n,&m,&t);
diff=m-t;
m=max(m,t);
n-=2;
while(n--)
{
scanf("%d",&t);
diff=max(m-t,diff);
m=max(m,t);
}
printf("%d\n",diff);
}
return 0;
}
本文探讨了一个简单的算法问题,即在一个给定的整数序列中找到两个元素,使得它们之间的差值尽可能大。通过设定一个变量m来跟踪当前的最大值,并在遍历序列时更新差值,实现高效求解。
451

被折叠的 条评论
为什么被折叠?



