找了题解,,,没解释题意真心看不懂,,,,,,题意就是每组样例给出几个点,,,从横坐标1开始给,,,,都给的是纵坐标,,找两个点的连线,,使连线上方没有点,,,而且斜率最大。。。。。。。。这题先是想贪心,,,上面有点就不行,,,,,没有的一起比较一下,,但是这样是n^2,,应该是凶多吉少。。。。。。
当然了。。。我看题解金手指开挂了么不是。。。。。
首先,,两个点的上方不能有点,,,,然后是两个点的下方不能有点,,这是因为有的话,,,,那个下面的和这两个里面的一个连线,,,肯定会比那个原来的更优,,,所以就是求两个相邻的点了。。。。。。233333333
没啥说的了。。。哎。。。。
#include<stdio.h>
int main()
{
int n;
__int64 a,b,c;
int x1,x2;
while(scanf("%d",
&n)
!= EOF)
{
__int64 Max
= 0, ans; x1
= 1; x2
= 2;
scanf("%I64d",
&a);
for(int i
= 2; i
<= n; i++)
{ scanf("%I64d",
&b);
ans = b-a;
ans = ans >=
0 ? ans
: -ans;
if(ans
> Max)
{
Max = ans;
x1 = i-1;
x2 = i;
}
a = b;
//存
}
printf("%d %d\n", x1,x2);
}
return 0;
}