๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐“ก๐“ธ๐“ธ๐“ถ๐Ÿฃ: ๐’œ๐“๐‘”๐‘œ๐“‡๐’พ๐“‰๐’ฝ๐“‚/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด

BOJ2628 : ์ข…์ด์ž๋ฅด๊ธฐ (Silver 5)

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    int a, b;
    int linenum;
    int line_a[10000] = {
        0,
    };
    int line_b[10000] = {
        0,
    };
    int acount = 0, bcount = 0;
    int tmp = 0;
    cin >> a >> b;
    cin >> linenum;
    for (int i = 0; i < linenum; i++)
    {
        cin >> tmp;
        if (tmp == 1)
        {
            cin >> line_a[acount];
            acount++;
        }
        else
        {
            cin >> line_b[bcount];
            bcount++;
        }
    }
    // cout << acount << " " << bcount << "\n";
    sort(line_a, line_a + acount);
    sort(line_b, line_b + bcount);
    line_a[acount] = a;
    line_b[bcount] = b;
    int maxa = 0;
    int maxb = 0;
    int memory = 0;
    for (int i = 0; i <= acount; i++)
    {
        //     cout << line_a[i] << "\n";
        if (maxa < line_a[i] - memory)
        {
            maxa = line_a[i] - memory;
          //  cout << maxa << "\n";
        }
        memory = line_a[i];
    }
   // cout << "-----\n";

    memory = 0;
    for (int i = 0; i <= bcount; i++)
    {
        if (maxb < line_b[i] - memory)
        {
            maxb = line_b[i] - memory;
            //cout << maxb << "\n";
        }
        memory = line_b[i];
    }
    cout << maxa * maxb;
}