Ural 1010 Discrete Function

Ural 1010 Discrete Function
此题为《算法艺术与信息学竞赛》中的习题。
不难证明,满足条件的点如果斜率的绝对值最大,两点必相邻。
以下是我的代码:
#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 ;
}


你可能感兴趣的:(Ural 1010 Discrete Function)