CpLibrary

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub fairy-lettuce/CpLibrary

:heavy_check_mark: Set<T> (Library Checker: Double-Ended Priority Queue) (CpLibrary.Verify/Collections/DoubleEndedPriorityQueue.cs)

Depends on

Code

using CpLibrary.Collections;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CpLibrary.Verify.Collections
{
	// competitive-verifier: document_title Set<T> (Library Checker: Double-Ended Priority Queue)
	internal class DoubleEndedPriorityQueue : CompetitiveVerifier.ProblemSolver
	{
		public override string Url => "https://judge.yosupo.jp/problem/double_ended_priority_queue";
		public override void Solve()
		{
			var sr = new Scanner(new StreamReader(Console.OpenStandardInput()));

			var (n, q) = sr.ReadValue<int, int>();
			var s = sr.ReadLongArray(n);
			var set = new MultiSet<long>(s);
			for (int i = 0; i < q; i++)
			{
				var query = sr.ReadInt();
				if (query == 0)
				{
					var x = sr.ReadInt();
					set.Add(x);
				}
				else if (query == 1)
				{
					Console.WriteLine(set.Min());
					set.RemoveAt(0);
				}
				else
				{
					Console.WriteLine(set.Max());
					set.RemoveAt(set.Count - 1);
				}
			}
		}
	}
}

Test cases

Env Name Status Elapsed Memory
example_00 :heavy_check_mark: AC 55 ms 29 MB
random_n_max_q_max_00 :heavy_check_mark: AC 1694 ms 121 MB
random_n_max_q_max_01 :heavy_check_mark: AC 1771 ms 121 MB
random_n_max_q_max_many_pop_00 :heavy_check_mark: AC 1686 ms 120 MB
random_n_max_q_max_many_pop_01 :heavy_check_mark: AC 1731 ms 120 MB
random_n_max_q_max_only_type01_00 :heavy_check_mark: AC 1644 ms 120 MB
random_n_max_q_max_only_type01_01 :heavy_check_mark: AC 1703 ms 120 MB
random_n_max_q_max_small_value_00 :heavy_check_mark: AC 1470 ms 111 MB
random_n_max_q_max_small_value_01 :heavy_check_mark: AC 1544 ms 110 MB
random_n_zero_q_max_00 :heavy_check_mark: AC 687 ms 47 MB
random_small_00 :heavy_check_mark: AC 56 ms 29 MB
random_small_01 :heavy_check_mark: AC 56 ms 29 MB
random_small_02 :heavy_check_mark: AC 55 ms 29 MB
random_small_03 :heavy_check_mark: AC 51 ms 29 MB
random_small_only_type01_00 :heavy_check_mark: AC 61 ms 29 MB
random_small_only_type01_01 :heavy_check_mark: AC 63 ms 29 MB
random_small_only_type01_02 :heavy_check_mark: AC 64 ms 29 MB
random_small_only_type01_03 :heavy_check_mark: AC 58 ms 29 MB
Back to top page