C♯の勉強

C♯4.0 で TopCoder の過去問を解きます。

TopCoder SRM592: LittleElephantAndBooks

pages をソートした配列を A とすると、

A[0],...,A[number-2],A[number]

が2番目に最小な本の選び方になる。

public class LittleElephantAndBooks {
    public int getNumber(int[] pages, int number) {
        return pages
            .OrderBy(p => p)
            .Where((p, index) => index != number - 1)
            .Take(number)
            .Sum();
    }
}