Example #1
0
        public TAnswer Greedy(TSample Sample)
        {
            GreedyMaxMinSample sample = Sample as GreedyMaxMinSample;

            Int32 k = sample.k;

            Int32[] arr = sample.arr;


            Array.Sort(arr);
            Int32 result = arr[k - 1] - arr[0];

            for (int i = 0; i <= arr.Length - k; i++)
            {
                if (arr[i + k - 1] - arr[i] < result)
                {
                    result = arr[i + k - 1] - arr[i];
                }
            }


            return(new GreedyMaxMinAnswer()
            {
                result = result
            });
        }
Example #2
0
        public override void CreateSamples(StreamReader reader)
        {
            int n = Convert.ToInt32(reader.ReadLine());

            int k = Convert.ToInt32(reader.ReadLine());

            int[] arr = new int[n];

            for (int i = 0; i < n; i++)
            {
                int arrItem = Convert.ToInt32(reader.ReadLine());
                arr[i] = arrItem;
            }
            GreedyMaxMinSample sample = new GreedyMaxMinSample()
            {
                arr = arr, k = k
            };

            Samples.Add(sample);
        }