Drkcore

17 08 2008 cpp topcoder Tweet

SRM414

一問も解けなかった。というか250点に時間をかけすぎたうえに途中であきらめたのがよくなかった。

RestaurantManager

席が埋まっているかどうかを、何番目のグループがどの席に座っているかという情報をmapで持たせようとしてたのが間違い。単にどの席がいつまで埋まっているかという時間の情報をベクタに突っ込んでおいて新規客の到着時刻と照らし合わせればよいだけだった。

class RestaurantManager {
public:
  int allocateTables(vector <int> tables, vector <int> groupSizes, vector <int> arrivals, vector <int> departures) {
    vector <int> occupied;
    int away = 0,j;
    sort(tables.begin(),tables.end());
    for(int i=0;i<tables.size();++i) occupied.push_back(0);

    for(int i = 0;i<groupSizes.size();++i){
      for(j = 0;j<tables.size();++j){
        if(groupSizes[i] <= tables[j] && occupied[j] <= arrivals[i]){
          occupied[j] = departures[i];
          break;
        }
      }
      if(j == tables.size()) away += groupSizes[i];
   }
   return away;
  }
};

Embassy

あとで

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021