此題為《算法藝術(shù)與信息學(xué)競(jìng)賽》中的習(xí)題。
不難證明,滿足條件的點(diǎn)如果斜率的絕對(duì)值最大,兩點(diǎn)必相鄰。
以下是我的代碼:
#include<iostream>
using namespace std;
long long Abs(long long a)
{
return a>0?a:-a;
}
int main()
{
const long maxn=100007;
long long n,ans,a[maxn];
cin>>n;
for(long i=1;i<=n;i++) cin>>a[i];
// Read In
ans=1;
for(long i=1;i<n;i++)
if(Abs(a[i+1]-a[i])>Abs(a[ans+1]-a[ans]))
ans=i;
cout<<ans<<" "<<ans+1<<endl;
return 0;
}