#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
// max, min, minmax
printf("max, min, minmax\n");
int kmax1 = max(5, 3);
int kmax2 = max({5, 8, 1, 3});
int kmin1 = min(5, 3);
int kmin2 = min({5, 8, 1, 3});
printf(" 最大値 %d %d 最小値 %d %d\n", kmax1, kmax2, kmin1, kmin2);
pair<int, int> p1 = minmax(5, 3);
pair<int, int> p2 = minmax({5, 8, 1, 3});
printf(" 最大値,最小値 %d %d 最大値,最小値 %d %d\n",
p1.second, p1.first, p2.second, p2.first);
// max_element, min_element, minmax_element
printf("max_element, min_element, minmax_element\n");
vector<int> v {5, 8, 1, 3};
vector<int>::iterator imax = max_element(v.begin(), v.end());
vector<int>::iterator imin = min_element(v.begin(), v.end());
printf(" 最大値 %d 最小値 %d\n", *imax, *imin);
pair<vector<int>::iterator, vector<int>::iterator> ip = minmax_element(v.begin(), v.end());
printf(" 最大値 %d 最小値 %d\n", *(ip.second), *(ip.first));
// clamp
printf("clamp\n");
for (int i1 = 0; i1 < 10; i1++) {
int x = clamp(i1, 3, 7);
printf(" %d", x);
}
printf("\n");
return 0;
}