Hatena::Grouptopcoder

naoya_t@topcoder RSSフィード

2009-01-07

SRM378 Div1 Easy: TrueStatements

| 23:11 | SRM378 Div1 Easy: TrueStatements - naoya_t@topcoder を含むブックマーク はてなブックマーク - SRM378 Div1 Easy: TrueStatements - naoya_t@topcoder SRM378 Div1 Easy: TrueStatements - naoya_t@topcoder のブックマークコメント

思いついたのをまっすぐ書いた。3'45''ぐらい。

Passed System Test / 244.98点。

#include <vector>
#include <queue>
using namespace std;
#define tr(c,i)  for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); i++)
#define rep(var,n)  for(int var=0;var<(n);var++)

class TrueStatements {
 public:
  int numberTrue(vector<int> stmts) {
    vector<int> cnt(51,0);
    tr(stmts,it) cnt[*it]++;
    priority_queue<int> pq;
    rep(i,51){
      if(cnt[i]==i) pq.push(i);
    }
    return pq.empty()? -1: pq.top();
  }
};

priority_queueを有意義に使えて気持ちいい。

トラックバック - http://topcoder.g.hatena.ne.jp/n4_t/20090107