《黑书》第二道枚举题......我已经无力吐槽
http://acm.timus.ru/problem.aspx?space=1&num=1010

思路:就是相邻的点的斜率必定最大,然后在这两点之间的点必定在它下方(其实看清题意,仔细思考下,就会明白,相邻两点之间由于都是整数,是没有点的.......)
代码:

#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
typedef __int64 ss;
ss dp[200000];
ss deal(ss m)
{
	if(m<0)
	m=-m;
	return m;
}
int main()
{
	int n;
	while(scanf("%d",&n)>0)
	{
		for(int i=1;i<=n;i++)
		scanf("%I64d",&dp[i]);
		int num;
		ss maxx=0;
		for(int i=1;i<n;i++)
		{
			if(maxx<deal(dp[i]-dp[i+1]))
			{
				maxx=deal(dp[i]-dp[i+1]);
				num=i;
			}
		}
		printf("%d %d\n",num,num+1);
	}
	return 0;
}

 

相关文章:

  • 2021-07-04
  • 2021-07-27
  • 2021-12-05
  • 2022-01-19
  • 2021-12-01
  • 2021-12-31
  • 2021-09-08
  • 2021-12-14
猜你喜欢
  • 2021-06-03
  • 2022-12-23
  • 2021-11-14
  • 2021-10-20
  • 2022-12-23
  • 2021-04-22
  • 2021-05-28
相关资源
相似解决方案