《黑书》第二道枚举题......我已经无力吐槽
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;
}
朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。

浙公网安备 33010602011771号