SRM469 Div1 Easy(250) TheMoviesLevelOneDivOne

TheMoviesLevelOneDivOne

並んで座れない席を数える。

#include <vector>
#include <utility>
#include <set>

using namespace std;

class TheMoviesLevelOneDivOne
{
public:
    long long find( int n, int m, vector <int> row, vector <int> seat );
};

long long TheMoviesLevelOneDivOne::find( int n, int m, vector <int> row, vector <int> seat )
{
    set<pair<int,int> > unavail;

    for ( int i=0; i<(int)row.size(); i++ )
    {
        if ( seat[i] > 1 )
            unavail.insert( pair<int,int>( seat[i]-1, row[i] ) );
        if ( seat[i] < m )
            unavail.insert( pair<int,int>( seat[i], row[i] ) );
    }

    return (long long)n * (m-1) - (int)unavail.size();
}