Google Kick Start C# Quick Start Tutorial
You can find C++ , C , Java , Python Quick Start <Here> ,
but I'm familiar with C#, but after searching there's no C# tutorial, so I give it a blind try myself.
and succesfullly guess got the answer format.
First I see C++ Quick Start use cin
to read intput, so in C# that must be Console.ReadLine()
and since Console.ReadLine()
is Console, so that may be use Console Application,
so after some try, I successfully answer a question,
and I believe smart as you can Directly Got THE IDEA ALL YOU NEED by see the quesion and the pass check answer.
Question is at:
https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc7/00000000001d3f56
Question Description:
----------------------------------
Problem
There are N houses for sale. The i-th house costs Ai dollars to buy. You have a budget of B dollars to spend.
What is the maximum number of houses you can buy?
Input
The first line of the input gives the number of test cases, T. T test cases follow. Each test case begins with a single line containing the two integers N and B. The second line contains N integers. The i-th integer is Ai, the cost of the i-th house.
Output
For each test case, output one line containing Case #x: y
, where x
is the test case number (starting from 1) and y
is the maximum number of houses you can buy.
Limits
Time limit: 15 seconds per test set.
Memory limit: 1GB.
1 ≤ T ≤ 100.
1 ≤ B ≤ 105.
1 ≤ Ai ≤ 1000, for all i.
Test set 1
1 ≤ N ≤ 100.
Test set 2
1 ≤ N ≤ 105.
------------------------
Test Input Provided by Kick Start:
3 4 100 20 90 40 90 4 50 30 30 10 10 3 300 999 999 999
In Sample Case #1, you have a budget of 100 dollars. You can buy the 1st and 3rd houses for 20 + 40 = 60 dollars.
In Sample Case #2, you have a budget of 50 dollars. You can buy the 1st, 3rd and 4th houses for 30 + 10 + 10 = 50 dollars.
In Sample Case #3, you have a budget of 300 dollars. You cannot buy any houses (so the answer is 0).
Note: Unlike previous editions, in Kick Start 2020, all test sets are visible verdict test sets, meaning you receive instant feedback upon submission.
My Answer:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test
{
class Program
{
static void Main(string[] args)
{
int cou = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < cou; i++)
{
string result = $"Case #{i+1}: ";
var line1 = Console.ReadLine().Split(' ');
int budget = Convert.ToInt32(line1[1]);
var housePrices = Console.ReadLine().Split(' ').Select(s => Convert.ToInt32(s)).OrderBy(p => p).ToList();
int buyCou = 0, total = 0;
for (int j = 0; j < housePrices.Count(); j++)
{
total += housePrices[j];
if (total <= budget)
buyCou++;
else
break;
}
Console.WriteLine(result + buyCou);
}
}
}
}
Pass Screenshot:
The Green Check in left upper shows my answer is correct!
Also you can use right bottom <Show Test Input> to paste your test case first, or copy paste the input given in left panel.
And when Use <Show Test Input>, a <Run tests> button will show to let you send Test, after sending Test,
you'll see the result in the left panel list by click the <eye> icon,
if you close <Show Test Input>, the <Submit attempt> button will show to let you send submit.
Happy Coding!!!