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以降はそのうち書けると思います。もう少し待って。