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