Artifact Content
Not logged in

Artifact 2cc6fccce968278db4b1135aeb38298c7014b650


using System;
using System.Linq;

class C
{
	static void Main()
	{
		long[] Ts = readLongArray();
		long   T  = Ts[0];

		for(long C=1; C<=T; ++C)
		{
			long[] RkN = readLongArray();
			long   R = RkN[0];
			long   k = RkN[1];
			long   N = RkN[2];
			long[] g = readLongArray();

			Console.WriteLine("Case #{0}: {1}", C, solveSmall(R,k,N,g));
		}
	}

	static long[] readLongArray()
	{
		return (from s in Console.ReadLine().Split(' ') select long.Parse(s)).ToArray();
	}

	static long solveSmall(long R, long k, long N, long[] g)
	{
		long totalEarn = 0;

		for(int i=0; i<R; ++i)
		{
			long ride = 0;
			for(int q=0; q<g.Length; ++q)
				if( ride + g[q] > k )
				{
					g = rotate(g, q);
					break;
				}
				else
				{
					ride += g[q];
				}
			totalEarn += ride;
		}

		return totalEarn;
	}

	static long[] rotate(long[] g, int s)
	{
		long[] g2 = new long[g.Length];
		for(int i=s; i<g.Length; ++i)
			g2[i-s] = g[i];
		for(int i=0; i<s; ++i)
			g2[i+g.Length-s] = g[i];
		return g2;
	}
}