此題為《算法藝術與信息學競賽》中的習題。
不難證明,滿足條件的點如果斜率的絕對值最大,兩點必相鄰。
以下是我的代碼:
#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;
}
posted on 2010-01-14 22:50
lee1r 閱讀(204)
評論(0) 編輯 收藏 引用 所屬分類:
題目分類:數學/數論