kotonoha_pcg@ぷろこんにっき

ここ(http://kotonoha-pcg.hatenablog.com/)の別館です、競プロの話が殆どです。最近mdモードに変えて一気に使い勝手が変わりました。

CF375(Div2)(後日)

 まだ解いてる最中だが上げるだけ上げる。

A. The New Year: Meeting Friends

問題(要約)

3人は新年に向けて会うことにした。彼ら3人の3つの整数座標が与えられる。これを基に、3人が集まれば良い最短の距離を求めよ。

解法

 3人はどういう集まりか知りませんが(多分知人)、3つの整数をソートし、中間値とその両側の値との差分を求め、合計して出力。

#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
int main(){
	int n[3]={0};
	int a=0;
	rep(i,3) cin>>n[i];
	sort(n,n+3);
		a=(n[0]>n[1])?n[0]-n[1]:n[1]-n[0];
		a+=(n[2]>n[1])?n[2]-n[1]:n[1]-n[2];
	cout<<a<<endl;
	return 0;
}

 インデントが変ですが気にしない。ここで、そのインデントが一段階くぼんでいるところが差分を求めるところで、bよりaが大きければa-b、aよりbが大きければb-aとする。これをcに対しても同じように求め、合計値を出力、というようになる。

B以降はそのうち書けると思います。もう少し待って。