サンタ服 / paizaOnlineHackathon7
#include <algorithm> #include <iostream> using namespace std; void Solve(int x, int y,int z, int n) { int d, a, x_data[100+1], y_data[100+1], j = 2, k = 2, min_x = 100, min_y = 100; x_data[0] = 0; y_data[0] = 0; x_data[1] = x; y_data[1] = y; for (int i=1; i<=n; ++i) { cin >> d >> a; (d == 0)? x_data[j++] = a : y_data[k++] = a; } sort(x_data, x_data+j); sort(y_data, y_data+k); for (int i=1; i<j; ++i) min_x = min(min_x, x_data[i]-x_data[i-1]); for (int i=1; i<k; ++i) min_y = min(min_y, y_data[i]-y_data[i-1]); cout << min_x * min_y * z << endl; } int main(void) { int x, y, z, n; cin >> x >> y >> z >> n; Solve(x,y,z,n); return 0; }
高さは変わらないので縦・横の最小値を取り、体積を求め出力。
〜了〜