Language: C++

//競技命令に必要な命令を網羅的に追加
//#include "bits/stdc++.h"
//入出力等基本
#include <iostream>
//文字列
#include <string>
//配列
#include <vector>
//配列操作
#include <algorithm>
//箱型構造
#include <stack>
//筒型構造
#include <queue>
//二分探索木
#include <set>
//辞書構造
#include <map>
//数学
#include <cmath>
//真表明用
#include <cassert>
//複数混合型
#include <tuple>

//英語を漢字に翻訳
#define 中心() main()
#define 返値 return
#define 入力(値) cin >> 値
#define 出力(値) cout << 値 << endl

//論理
#define 如果(条件) if(条件)
#define 如他(条件) else if(条件)
#define 残他 else

//再起
#define 再起(変数,下,上) for(整数 変数 = 下;変数 <= 上;変数 += 1)
#define 逆再(変数,上,下) for(整数 変数 = 上;変数 >= 下;変数 -= 1)
#define 場合中(条件) while(条件)
#define 脱出 break
#define 次周 continue

//配列操作
#define 最初(配列) (配列).begin()+1
#define 最後(配列) (配列).end()
#define 全部(配列) (配列).begin(), (配列).end()
#define 整理(下,上) sort(下,上)
#define 逆順(下,上) reverse(下,上)
#define 消去(配列,下,上) 配列.erase(下,上)
#define 重複(下,上) unique(下,上)
#define 変長(配列,長) 配列.resize(長)
#define 置換(下,上,値) fill(下,上,値)
#define 全出力(配列) for_each(全部(配列), [](整数 値) {出力(値);});
#define 合流(支流一下,支流一上,支流二下,支流二上,合成流) merge(支流一下,支流一上,支流二下,支流二上,合成流)

//操作
#define 付加(対象,値) 対象.push_back(値)
#define 追加(対象,値) 対象.push(値)
#define 取捨(対象) 対象.pop()
#define 組成(一,二) make_pair(一,二)
#define 交換(一,二) swap(一,二)
#define 挿入(対象,値) 対象.insert(値)
#define 削除(対象,値) 対象.erase(値)
#define 複合作成(一,二,三) make_tuple(一,二,三)

//詳細
#define 先頭(対象) 対象.top()
#define 前面(対象) 対象.front()
#define 空非空(対象) 対象.empty()
#define 大小(対象) 対象.size()
#define 長短(対象) 対象.length()
#define 先(対象) 対象.first
#define 後(対象) 対象.second
#define 部分文字列(対象,下,上) 対象.substr(下,上)
#define 検索(対象,値) 対象.find(値)
#define 探索(下,上,値) find(下,上,値)
#define 地点(対象,場所) 対象.at(場所)
#define 取得(場所,複数混合) get<場所-1>(複数混合)

//数学系
#define 真 true
#define 偽 false
#define 定数 const
#define 絶対値(数) abs(数)
#define 切下(数) floor(数)
#define 切上(数) ceil(数)
#define 根(a) sqrt(a)
#define 単縦(角度) sin(角度)
#define 単横(角度) cos(角度)
#define 和(一,二) (一+二)
#define 差(一,二) (一-二)
#define 積(一,二) (一*二)
#define 商(一,二) (一/二)
#define 余(一,二) (一%二)
#define 負 -
#define 且 &&
#define 又 ||
#define 是 =
#define 是不是 ==
#define 不 !
#define 不是 !=
#define 是大 >
#define 是小 <
#define 是以上 >=
#define 是以下 <=
#define 増桁(対象,桁) (対象<<桁)
#define 減桁(対象,桁) (対象>>桁)
#define 最小桁一(対象) (対象 & -対象)

//二進数演算
#define 共 &
#define 亦 |
#define 非 ~
#define 異 ^

//反復子
#define 反復子(対象) decltype(対象)::iterator
#define 以上(下,上,基準値) lower_bound(下,上,基準値)
#define 比較大(下,上,基準値) upper_bound(下,上,基準値)
#define 最大値(下,上,基準値) max_element(下,上,基準値)
#define 最小値(下,上,基準値) min_element(下,上,基準値)

//他
#define 構造体 struct
#define 記号 operator
#define 自動 auto
#define 表明(対象) assert(対象)

//stdの中で作業
using namespace std;

//型を漢字に翻訳
typedef int 整;
typedef void 無;
typedef long long 整数;
typedef vector<整数> 整数配列;
typedef vector<整数配列> 二次元整数配列;
typedef vector<二次元整数配列> 三次元整数配列;
typedef long double 小数;
typedef vector<long double> 小数配列;
typedef vector<小数配列> 二次元小数配列;
typedef char 文字;
typedef vector<文字> 文字配列;
typedef vector<文字配列> 二次元文字配列;
typedef string 文字列;
typedef vector<文字列> 文字列配列;
typedef pair<整数,整数> 整組;
typedef vector<整組> 整組配列;
typedef pair<小数,小数> 小組;
typedef vector<小組> 小組配列;
typedef vector<小組配列> 二次元小組配列;
typedef bool 真偽;
typedef vector<真偽> 真偽配列;
typedef vector<真偽配列> 二次元真偽配列;
typedef stack<整数> 整箱;
typedef queue<整数> 整筒;
typedef queue<整組> 整組筒;
typedef priority_queue<整数> 整順位二分木;
typedef greater<整数> 整昇順;
typedef greater<整組> 整組昇順;
typedef priority_queue<整数,整数配列,整昇順> 整昇順位二分木;
typedef priority_queue<整組,整組配列,整組昇順> 整組昇順位二分木;
typedef set<整数> 整二分探索木;
typedef map<整数,整数> 整辞書;
typedef map<整数,文字列> 文字列辞書;

構造体 辺構造{整数 着点,容量,逆辺;};
typedef vector<辺構造> 辺構造配列;

//定数 整数 四方横[5] 是 {0,1,0,-1,0};
//定数 整数 四方縦[5] 是 {0,0,1,0,-1};

整数 大値(整数 一, 整数 二){返値 max(一,二);}
整数 小値(整数 一, 整数 二){返値 min(一,二);}
整数 多値(整数 一, 整数 二){返値 max(一,二);}
整数 少値(整数 一, 整数 二){返値 min(一,二);}
整数 長値(整数 一, 整数 二){返値 max(一,二);}
整数 短値(整数 一, 整数 二){返値 min(一,二);}

定数 整数 無限 = (2e9) + 10;
//定数 整数 法 = 1000000007;
//定数 小数 境界 = 1e-9;
//定数 小数 半円 = acos(-1.0);
定数 整数 百 = 100;
定数 整数 千 = 1000;
//定数 整数 万 = 10000;
//定数 整数 億 = 100000000;
定数 整数 最大地点候補数 = 千+百;
整数 地点候補数,気温,基準気温;
整数配列 標高(最大地点候補数);

 
無 入力関数()
{
    入力(地点候補数);
    入力(気温);
    入力(基準気温);
    再起(各標高,1,地点候補数)
    {
        入力(標高[各標高]);
    }
}

小数 平均気温(整数 気温,整数 標高)
{
    返値 気温 - 積(標高,0.006);
}
 
無 決宮殿地点()
{
    整数 最小気温差 = 無限;
    整数 宮殿地点;
    再起(各標高,1,地点候補数)
    {
        如果(  絶対値( 平均気温(気温,標高[各標高])-積(基準気温) ) < 最小気温差  )
        {
            最小気温差 = 絶対値( 平均気温(気温,標高[各標高])-積(基準気温,千) );
            宮殿地点 = 各標高;
        }
    }
    
    出力(宮殿地点);
}

整 中心()
{
	入力関数();
    決宮殿地点();
	返値 0;
}


Compiler output:
a.cc:216:81: error: macro "積" requires 2 arguments, but only 1 given
  216 |         如果(  絶対値( 平均気温(気温,標高[各標高])-積(基準気温) ) < 最小気温差  )
      |                                                                                 ^
a.cc:93:9: note: macro "積" defined here
   93 | #define 積(一,二) (一*二)
      |         ^~
a.cc: In function '\U00007121 \U00006c7a\U00005bae\U00006bbf\U00005730\U000070b9()':
a.cc:216:52: error: '\U00007a4d' was not declared in this scope
  216 |         如果(  絶対値( 平均気温(気温,標高[各標高])-積(基準気温) ) < 最小気温差  )
      |                                                    ^~
a.cc:33:23: note: in definition of macro '如果'
   33 | #define 如果(条件) if(条件)
      |                       ^~~~
a.cc:216:16: note: in expansion of macro '絶対値'
  216 |         如果(  絶対値( 平均気温(気温,標高[各標高])-積(基準気温) ) < 最小気温差  )
      |                ^~~~~~