<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=4168_-_Secvente_6</id>
	<title>4168 - Secvente 6 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=4168_-_Secvente_6"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4168_-_Secvente_6&amp;action=history"/>
	<updated>2026-05-01T06:36:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4168_-_Secvente_6&amp;diff=10103&amp;oldid=prev</id>
		<title>Danciu: Pagină nouă: Notăm cu &lt;code&gt;[x, y]&lt;/code&gt;, o secvență de numere naturale nenule &lt;code&gt;x, x + 1, x + 2, ..., y&lt;/code&gt;, cu &lt;code&gt;x ≤ y&lt;/code&gt;.  Considerăm că secvența &lt;code&gt;[p, q]&lt;/code&gt; include secvența &lt;code&gt;[a, b]&lt;/code&gt; dacă are loc relația &lt;code&gt;p ≤ a ≤ b ≤ q&lt;/code&gt;.  Se dau &lt;code&gt;N&lt;/code&gt; secvențe speciale de forma &lt;code&gt;[a, b]&lt;/code&gt; și apoi &lt;code&gt;T&lt;/code&gt; secvențe de interogare &lt;code&gt;[L,R]&lt;/code&gt;. Orice secvență care include cel puțin o secvență specială va...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4168_-_Secvente_6&amp;diff=10103&amp;oldid=prev"/>
		<updated>2024-06-04T08:23:59Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Notăm cu &amp;lt;code&amp;gt;[x, y]&amp;lt;/code&amp;gt;, o secvență de numere naturale nenule &amp;lt;code&amp;gt;x, x + 1, x + 2, ..., y&amp;lt;/code&amp;gt;, cu &amp;lt;code&amp;gt;x ≤ y&amp;lt;/code&amp;gt;.  Considerăm că secvența &amp;lt;code&amp;gt;[p, q]&amp;lt;/code&amp;gt; include secvența &amp;lt;code&amp;gt;[a, b]&amp;lt;/code&amp;gt; dacă are loc relația &amp;lt;code&amp;gt;p ≤ a ≤ b ≤ q&amp;lt;/code&amp;gt;.  Se dau &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; secvențe speciale de forma &amp;lt;code&amp;gt;[a, b]&amp;lt;/code&amp;gt; și apoi &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; secvențe de interogare &amp;lt;code&amp;gt;[L,R]&amp;lt;/code&amp;gt;. Orice secvență care include cel puțin o secvență specială va...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Notăm cu &amp;lt;code&amp;gt;[x, y]&amp;lt;/code&amp;gt;, o secvență de numere naturale nenule &amp;lt;code&amp;gt;x, x + 1, x + 2, ..., y&amp;lt;/code&amp;gt;, cu &amp;lt;code&amp;gt;x ≤ y&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Considerăm că secvența &amp;lt;code&amp;gt;[p, q]&amp;lt;/code&amp;gt; include secvența &amp;lt;code&amp;gt;[a, b]&amp;lt;/code&amp;gt; dacă are loc relația &amp;lt;code&amp;gt;p ≤ a ≤ b ≤ q&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Se dau &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; secvențe speciale de forma &amp;lt;code&amp;gt;[a, b]&amp;lt;/code&amp;gt; și apoi &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; secvențe de interogare &amp;lt;code&amp;gt;[L,R]&amp;lt;/code&amp;gt;. Orice secvență care include cel puțin o secvență specială va fi numită secvență super-specială. Numărul de secvențe super-speciale pe care o secvență &amp;lt;code&amp;gt;[L, R]&amp;lt;/code&amp;gt; le include va fi denumit capacitatea secvenței &amp;lt;code&amp;gt;[L, R]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Cerința =&lt;br /&gt;
Pentru fiecare secvență de interogare, să se determine capacitatea sa.&lt;br /&gt;
&lt;br /&gt;
= Date de intrare =&lt;br /&gt;
Fișierul de intrare &amp;lt;code&amp;gt;secvente.in&amp;lt;/code&amp;gt; conține pe prima linie numărul natural &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;, reprezentând numărul de secvențe speciale. Pe următoarele &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; linii se află câte două numere naturale nenule &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;, separate printr-un spațiu, reprezentând secvențele speciale. Pe linia &amp;lt;code&amp;gt;N+2&amp;lt;/code&amp;gt; se află numărul natural &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;, reprezentând numărul de secvențe de interogare, iar pe următoarele &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; linii se află câte două numere naturale nenule &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt;, separate printr-un spațiu, reprezentând secvențele de interogare.&lt;br /&gt;
&lt;br /&gt;
= Date de ieșire =&lt;br /&gt;
Fișierul de ieșire &amp;lt;code&amp;gt;secvente.out&amp;lt;/code&amp;gt; va conține &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; linii. Pe cea de a &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;-a linie din fișier se va scrie un singur număr natural, reprezentând capacitatea celei de a &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;-a secvențe de interogare, în ordinea din fișierul de intrare.&lt;br /&gt;
&lt;br /&gt;
= Restricții și precizări =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;1 ≤ N ≤ 100.000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;1 ≤ a ≤ b ≤ 1.000.000.000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;1 ≤ T ≤ 100.000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;1 ≤ L ≤ R ≤ 1.000.000.000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Exemplu: =&lt;br /&gt;
&amp;lt;code&amp;gt;secvente.in&amp;lt;/code&amp;gt;&lt;br /&gt;
 2&lt;br /&gt;
 2 4&lt;br /&gt;
 3 3&lt;br /&gt;
 3&lt;br /&gt;
 2 4&lt;br /&gt;
 1 5&lt;br /&gt;
 2 5&lt;br /&gt;
&amp;lt;code&amp;gt;secvente.out&amp;lt;/code&amp;gt;&lt;br /&gt;
 4&lt;br /&gt;
 9&lt;br /&gt;
 6&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
Secvența de interogare &amp;lt;code&amp;gt;[2,4]&amp;lt;/code&amp;gt; conține secvențele super-speciale &amp;lt;code&amp;gt;[2,3]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[2,4]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[3,3]&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;[3,4]&amp;lt;/code&amp;gt;. Se observă că &amp;lt;code&amp;gt;[2, 2]&amp;lt;/code&amp;gt; nu este o secvență super-specială deoarece nu include pe niciuna dintre cele două secvențe speciale (&amp;lt;code&amp;gt;[2, 4]&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;[3, 3]&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Secvența de interogare &amp;lt;code&amp;gt;[1,5]&amp;lt;/code&amp;gt; conține secvențele super-speciale &amp;lt;code&amp;gt;[1,3]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[1,4]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[1,5]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[2,3]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[2,4]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[2,5]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[3,3]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[3,4]&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;[3,5]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Secvența de interogare &amp;lt;code&amp;gt;[2,5]&amp;lt;/code&amp;gt; conține secvențele super-speciale &amp;lt;code&amp;gt;[2,3]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[2,4]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[2,5]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[3,3]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[3,4]&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;[3,5]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot;&amp;gt;&lt;br /&gt;
def read_special_sequences(n):&lt;br /&gt;
    special_sequences = []&lt;br /&gt;
    for _ in range(n):&lt;br /&gt;
        a, b = map(int, input().split())&lt;br /&gt;
        special_sequences.append((a, b))&lt;br /&gt;
    return special_sequences&lt;br /&gt;
&lt;br /&gt;
def read_query_sequences(t):&lt;br /&gt;
    query_sequences = []&lt;br /&gt;
    for _ in range(t):&lt;br /&gt;
        l, r = map(int, input().split())&lt;br /&gt;
        query_sequences.append((l, r))&lt;br /&gt;
    return query_sequences&lt;br /&gt;
&lt;br /&gt;
def is_super_special(query_sequence, special_sequences):&lt;br /&gt;
    for a, b in special_sequences:&lt;br /&gt;
        if a &amp;lt;= query_sequence[0] &amp;lt;= query_sequence[1] &amp;lt;= b:&lt;br /&gt;
            return True&lt;br /&gt;
    return False&lt;br /&gt;
&lt;br /&gt;
def count_super_special_sequences(query_sequence, special_sequences):&lt;br /&gt;
    count = 0&lt;br /&gt;
    for a, b in special_sequences:&lt;br /&gt;
        if a &amp;lt;= query_sequence[0] &amp;lt;= b &amp;lt;= query_sequence[1]:&lt;br /&gt;
            count += 1&lt;br /&gt;
    return count&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    n = int(input())&lt;br /&gt;
    special_sequences = read_special_sequences(n)&lt;br /&gt;
&lt;br /&gt;
    t = int(input())&lt;br /&gt;
    query_sequences = read_query_sequences(t)&lt;br /&gt;
&lt;br /&gt;
    for query_sequence in query_sequences:&lt;br /&gt;
        super_special_count = count_super_special_sequences(query_sequence, special_sequences)&lt;br /&gt;
        print(super_special_count)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Danciu</name></author>
	</entry>
</feed>