サンタ服 / paizaOnlineHackathon7

paiza.jp

#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;
}

高さは変わらないので縦・横の最小値を取り、体積を求め出力。
〜了〜