7879 | 2024. 01. 11 17:48:16 | ananász | Sorozat generálás | csharp | Futási hiba 0/50 | 29ms | 23272 KiB |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace talalkozas
{
class Program
{
static void Main(string[] args)
{
long N = int.Parse(Console.ReadLine());
long fele = N / 2;
long utolsotav = 0;
if (N % 2 == 1)
{
fele++;
}
long[] tavozott = new long[100000];
long[] erkezett = new long[100000];
for (int i = 0; i < N; i++)
{
string[] st = Console.ReadLine().Split();
long erk = int.Parse(st[0]) - 1;
long tav = int.Parse(st[1]);
if (tav < 99999)
{
tavozott[tav]--;
if (tav>utolsotav)
{
utolsotav = tav;
}
}
erkezett[erk]++;
}
long[] idopontok = new long[utolsotav];
idopontok[0] = erkezett[0] + tavozott[0];
for (int i = 1; i < utolsotav; i++)
{
idopontok[i] = idopontok[i - 1] + erkezett[i] + tavozott[i];
}
//1. távozáskor mennyien voltak?
long id = 0;
while (tavozott[id] == 0 && idopontok[id] < fele)
{
id++;
}
if (idopontok[id] >= fele)//ha egy időpontban elérték
{
Console.WriteLine(1);
Console.WriteLine(id + 1);
}
else //itt az id az első távozás ideje
{
long hossz = 1;
long akt = idopontok[id - 1];
long elozotav = id + 1;//az első távozás utáni index
while (akt < fele)
{
hossz++;
akt += erkezett[id];
id++;
}
id--;
long minid = id;
long min = hossz;
while (elozotav < utolsotav)
{
id = elozotav;
while (tavozott[id] == 0 && idopontok[id] < fele)
{
id++;
}
if (idopontok[id] >= fele)
{
Console.WriteLine(1);
Console.WriteLine(id + 1);
break;
}
elozotav = id + 1;
hossz = 1;
akt = idopontok[id - 1];
while (id < utolsotav && akt < fele && hossz <= min)
{
akt += erkezett[id];
hossz++;
id++;
}
if (akt >= fele && hossz < min)
{
min = hossz;
minid = id - 1;
}
}
Console.WriteLine(min);
Console.WriteLine($"{minid - min + 2} {minid + 1}");
}
Console.ReadKey();
}
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 0/50 | ||||||
1 | Futási hiba | 0/0 | 28ms | 20060 KiB | |||
2 | Futási hiba | 0/0 | 29ms | 20760 KiB | |||
3 | Futási hiba | 0/2 | 28ms | 21080 KiB | |||
4 | Futási hiba | 0/2 | 28ms | 21340 KiB | |||
5 | Futási hiba | 0/2 | 28ms | 21416 KiB | |||
6 | Futási hiba | 0/2 | 28ms | 21704 KiB | |||
7 | Futási hiba | 0/2 | 28ms | 22376 KiB | |||
8 | Futási hiba | 0/4 | 28ms | 22192 KiB | |||
9 | Futási hiba | 0/4 | 28ms | 22664 KiB | |||
10 | Futási hiba | 0/4 | 28ms | 22536 KiB | |||
11 | Futási hiba | 0/4 | 28ms | 22476 KiB | |||
12 | Futási hiba | 0/4 | 29ms | 22600 KiB | |||
13 | Futási hiba | 0/4 | 29ms | 22580 KiB | |||
14 | Futási hiba | 0/4 | 28ms | 22572 KiB | |||
15 | Futási hiba | 0/4 | 28ms | 23272 KiB | |||
16 | Futási hiba | 0/4 | 29ms | 23128 KiB | |||
17 | Futási hiba | 0/4 | 28ms | 23212 KiB |