2009-01-07
SRM378 Div1 Easy: TrueStatements
思いついたのをまっすぐ書いた。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を有意義に使えて気持ちいい。
コメント
トラックバック - https://topcoder-g-hatena-ne-jp.jag-icpc.org/n4_t/20090107