3705 2023. 03. 02 12:25:13 Dora Találkozás csharp Elfogadva 55/55 196ms 35576 KiB
using System;
using System.Collections.Generic;   //listához kell
using System.Linq;

public class Program
{
    static void Main()
    {
        const int MAX = 100000;
        int n = int.Parse(Console.ReadLine());
        List<int> start = new List<int>(new int[MAX + 1]);
        List<int> stop = new List<int>(new int[MAX + 1]);

        for (int i = 0; i < n; i++)
        {
            string[] input = Console.ReadLine().Split();
            int x = int.Parse(input[0]);
            int y = int.Parse(input[1]);
            start[x]++;
            stop[y]++;
        }

        for (int i = 1; i <= MAX; i++)
        {
            start[i] += start[i - 1];
            stop[i] += stop[i - 1];
        }

        int bestl = -1, bestr = -1, half = (n + 1) / 2;
        int l = 1, r = 1;

        while (r <= MAX)
        {
            while (r <= MAX && (Meet(start, stop, l, r) < half))
            {
                r++;
            }
            if (r > MAX)
            {
                break;
            }
            while (l <= r && (Meet(start, stop, l, r) >= half))
            {
                l++;
            }
            if (bestl == -1 || bestr - bestl > r - l)
            {
                bestl = l;
                bestr = r;
            }
        }
        Console.WriteLine(bestr - bestl + 2);
        Console.WriteLine($"{bestl - 1} {bestr}");
        Console.ReadKey();
    }

    static int Meet(List<int> start, List<int> stop, int l, int r)
    {
        if (l > r)
        {
            return 0;
        }
        return start[l] - stop[l - 1] + start[r] - start[l];
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 55/55
1 Elfogadva 0/0 37ms 22956 KiB
2 Elfogadva 0/0 184ms 31856 KiB
3 Elfogadva 2/2 37ms 24296 KiB
4 Elfogadva 2/2 35ms 24236 KiB
5 Elfogadva 2/2 35ms 24360 KiB
6 Elfogadva 2/2 35ms 24548 KiB
7 Elfogadva 2/2 37ms 24820 KiB
8 Elfogadva 3/3 35ms 25080 KiB
9 Elfogadva 3/3 35ms 25048 KiB
10 Elfogadva 3/3 37ms 25596 KiB
11 Elfogadva 3/3 45ms 27600 KiB
12 Elfogadva 3/3 48ms 28800 KiB
13 Elfogadva 3/3 50ms 28856 KiB
14 Elfogadva 3/3 65ms 31968 KiB
15 Elfogadva 3/3 67ms 31964 KiB
16 Elfogadva 3/3 64ms 31936 KiB
17 Elfogadva 3/3 64ms 32116 KiB
18 Elfogadva 3/3 83ms 34808 KiB
19 Elfogadva 3/3 196ms 35284 KiB
20 Elfogadva 3/3 182ms 35132 KiB
21 Elfogadva 3/3 194ms 35292 KiB
22 Elfogadva 3/3 190ms 35576 KiB