Проблем със задача 3. Cooking factory от DemoMidExam02March2019
Здравейте,
Имам проблем на тази задача. Работи си коректно, но не минава тестовете, заради time limit. Някой може ли да ми съдейства за отстраняване на проблема? Благодаря предварително.
Ето решението ми:
using System;
using System.Collections.Generic;
using System.Linq;
namespace CookingFactory
{
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
var batches = new List<Batch>();
var batchesAsStringList = new List<string>();
while (input != "Bake it!")
{
batchesAsStringList.Add(input);
input = Console.ReadLine();
}
for (int i = 0; i < batchesAsStringList.Count(); i++)
{
Batch currentBatch = new Batch();
currentBatch.lenght = batchesAsStringList[i].Split('#').ToList().Count();
currentBatch.quality = batchesAsStringList[i].Split('#').Select(int.Parse).ToList().Sum();
batches.Add(currentBatch);
}
int bestBatchIndex = GetBestBatchIndex(batches);
Console.WriteLine($"Best batch quality: {batches[bestBatchIndex].quality}");
Console.WriteLine($"{string.Join(' ',(batchesAsStringList[bestBatchIndex].Split('#').ToList()))}");
}
static int GetBestBatchIndex(List<Batch> batches)
{
Batch bestBatch = batches[0];
for (int i = 1; i < batches.Count(); i++)
{
if (batches[i].quality > bestBatch.quality)
{
bestBatch = batches[i];
}
else if (batches[i].quality == bestBatch.quality)
{
if (batches[i].lenght < bestBatch.lenght)
{
bestBatch = batches[i];
}
}
}
return batches.IndexOf(bestBatch);
}
}
class Batch
{
public int quality;
public int lenght;
}
}
Благодаря. Получи се. В текстовия файл с условието на задачата е дадено Bake it! с малко i, а другото просто не съм догледал, но странното беше, че не ми даде различен отговор заради главната буква, а имах проблем с time limit, но така или иначе се разреши и си минава 100/100.