頭良くなりたい人

文系大学生shadeのブログです。競技プログラミングや人文学の話題,受験ネタなど。

ABC074 B - Collecting Balls (Easy Version)

問題はこちら
atcoder.jp

方針

「これら 2X 台のロボットのうちいくつかを起動して」なんて言われると身構えてしまいますが,各 i に対して,ボールと近い方のロボットを起動するだけですね。

コード

#include <bits/stdc++.h>
using namespace std;
 
int main(){
    int n,k;
    cin>>n>>k;
 
    vector<int> x(n);
    for(int i=0; i<n; i++){
        cin>>x.at(i);
    }
 
    int d_sum=0;
 
    for(int i=0; i<n; i++){
        if(x.at(i)<k-x.at(i)){
            d_sum+=x.at(i)*2;
        }else{
            d_sum+=(k-x.at(i))*2;
        }
    }
 
    cout<<d_sum<<endl;
}