Hatena::Grouptopcoder

TopCoderの問題を解く

解いた問題の一覧表

2010-01-31

OnLineRank

| 22:32

問題文, SRM 179

成績のランクを直前の k 人の成績の中でランクで計算するとき、そのランクの合計を求める。その通りに実装すればいい。Editorial を読んで気づいたが、rank 変数は作らずとも sum のインクリメントだけで充分だった。

235.88/250

class OnLineRank {
public:
    int calcRanks(int k, vector <int> scores) {
        int sum = 1;
        for (int i = 1; i < scores.size(); i++) {
            int rank = 1;
            for (int j = max(0,i-k); j < i; j++) {
                if (scores[j] > scores[i])
                    rank++;
            }
            sum += rank;
        }
        return sum;
    }
};

MateoMateo 2013/02/17 22:51 Inteillgence and simplicity - easy to understand how you think.

schgrzschgrz 2013/02/19 00:42 foexv7 <a href="http://krsawktetuoo.com/">krsawktetuoo</a>

ixdtrsrixdtrsr 2013/02/21 12:37 5pdlI9 <a href="http://vmkqxxlmsxmu.com/">vmkqxxlmsxmu</a>

ixdtrsrixdtrsr 2013/02/21 12:37 5pdlI9 <a href="http://vmkqxxlmsxmu.com/">vmkqxxlmsxmu</a>

oaxixvwpreuoaxixvwpreu 2013/02/21 17:01 OpAgB8 , [url=http://wexmtjdpiwje.com/]wexmtjdpiwje[/url], [link=http://loprselolouh.com/]loprselolouh[/link], http://eeikflgzlhwl.com/

ゲスト



トラックバック - http://topcoder.g.hatena.ne.jp/caligue/20100131