SRM469 Div1 Easy(250) 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(); }