codeforces AIM Tech Round 3 (Div. 2) B. Checkpoints

原创 2016年08月29日 19:42:24

题目链接:点击打开链接

题目大意:给定x轴上的一些整数点,问从m点出发到n-1个点至少要走多少米?

题目解析:读完题目之后感觉想暴力一发,就是从m走到最右边再走回来走到最左边,这样相当于走了两遍m的右半部分,再算上另一半一共两种答案,去一个最小值就好了。超时了,想了好半天发现自己思维定式了,把给定的所有点都过一遍只留下一个边界就可以,所以问题转换为从m到两个边界的问题,所以排序之后取四种情况的最小值即可。


#include <algorithm>
#include <iostream>
#include <numeric>
#include <cstring>
#include <iomanip>
#include <string>
#include <vector>
#include <cstdio>
#include <bitset>
#include <queue>
#include <stack>
#include <cmath>
#include <map>
#include <set>
#define LL long long
#define pr pair<int,int>
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1

using namespace std;

const double eps = 1e-8;
const int INF = 0x3f3f3f3f;
const int maxn = 100005;

LL arr[maxn];

int main(){
    LL n,m;
    scanf("%lld %lld",&n,&m);
    for(int i=0;i<n;i++){
        scanf("%lld",&arr[i]);
    }
    arr[n] = m; n += 1;
    sort(arr,arr+n);

    LL q = abs(m - arr[0]) + abs(m - arr[n-2]) * 2;
    LL w = abs(m - arr[0]) * 2 + abs(m - arr[n-2]);
    LL e = abs(m - arr[1]) + abs(m - arr[n-1]) * 2;
    LL r = abs(m - arr[1]) * 2 + abs(m - arr[n-1]);

    printf("%lld\n",min(q,min(w,min(e,r))));
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

Codeforces Aim Tech Round 3 (Div.2 )B.Checkpoints【思维】

B. Checkpoints time limit per test 1 second memory limit per test 256 megabytes input standard...

AIM Tech Round 3 (Div. 2) B. Checkpoints 排序、讨论

排序、讨论 if(a < val[0]) ans = val[n - 2] - a; else if(a > val[n - 1]) ans = a - val[1]; else 1 : min(an...

Codeforces AIM Tech Round 3 (Div.2)A.Juicer【模拟】水题

A. Juicer time limit per test 1 second memory limit per test 256 megabytes input standard inpu...

codeforces AIM Tech Round 3 (Div. 2) (A~D)

A. Juicer time limit per test 1 second memory limit per test 256 megabytes input standard inpu...

Codeforces Aim Tech Round 3 (Div.2 )C.Letters Cyclic Shift 【贪心】水题

C. Letters Cyclic Shift time limit per test 1 second memory limit per test 256 megabytes ...

codeforces AIM Tech Round 3 (Div. 2)

codeforces AIM Tech Round 3 (Div. 2) A. Juicer time limit per test ...
  • Gerry99
  • Gerry99
  • 2017年02月22日 04:17
  • 116

CodeForces AIM Tech Round 3 (Div. 2) D

CodeForces AIM Tech Round 3 (Div. 2) D智障题,但就是没想出来。 传送门,http://codeforces.com/contest/709/problem/...
  • ceerrep
  • ceerrep
  • 2016年08月25日 14:41
  • 150

Codeforces AIM Tech Round (Div. 2) 题解

A. Save Luke time limit per test 1 second memory limit per test 256 megabytes input standard ...

Codeforces AIM Tech Round (Div. 2) 624A A. Save Luke

A. Save Luke time limit per test1 second memory limit per test256 megabytes inputstandard input ...

AIM Tech Round 3 (Div. 2) E. Centroids (树形dp)

E. Centroids time limit per test 4 seconds memory limit per test 512 megabytes inpu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:codeforces AIM Tech Round 3 (Div. 2) B. Checkpoints
举报原因:
原因补充:

(最多只允许输入30个字)