wvogel日記

自分用の技術備忘録が多めです.

SRM617 Div2

TopCoderにリアルタイムで初参加したSRMのmedium問題.
本番では処理が一行抜けていて通過しなかったので,
自戒としてコードを残していく.

using System;
public class SlimeXSlimonadeTycoon
{
    public int sell(int[] morning, int[] customers, int stale_limit)
    {
        int sold = 0;
        for (int i = morning.Length-1; i >= 0; i--)
        {
            for(int j = 0; j < stale_limit; j++)
            {
                if (i - j < 0)
                    continue;
                if(morning[i-j]-customers[i] >= 0)
                {
                    morning[i-j] -= customers[i];
                    sold += customers[i];
                    customers[i] = 0;
                }
                else
                {
                    customers[i] -= morning[i-j];
                    sold += morning[i-j];
                    morning[i-j] = 0;
                }
            }
        }

        return sold;
    }
}