<?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=3860_-_consecutive1</id>
	<title>3860 - consecutive1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3860_-_consecutive1"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3860_-_consecutive1&amp;action=history"/>
	<updated>2026-05-01T06:32:25Z</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=3860_-_consecutive1&amp;diff=10006&amp;oldid=prev</id>
		<title>AjM: Pagină nouă: == Enunt == Se dă un șir (a[1], a[2], ..., a[n]) de numere naturale cuprinse între 1 și n. Se dau de asemenea Q interogări, fiecare prin două numere x, y: dacă s-ar ordona a[x], a[x+1], ..., a[y], se obține sau nu o secvență de numere consecutive? (De exemplu, 5,3,6,4 dacă e ordonată se obține 3,4,5,6, care este o secvență de numere consecutive). == Cerinţa == Dându-se Q întrebări, să se răspundă la acestea. La fiecare interogare, dacă prin sortare se o...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3860_-_consecutive1&amp;diff=10006&amp;oldid=prev"/>
		<updated>2024-06-03T16:40:02Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt == Se dă un șir (a[1], a[2], ..., a[n]) de numere naturale cuprinse între 1 și n. Se dau de asemenea Q interogări, fiecare prin două numere x, y: dacă s-ar ordona a[x], a[x+1], ..., a[y], se obține sau nu o secvență de numere consecutive? (De exemplu, 5,3,6,4 dacă e ordonată se obține 3,4,5,6, care este o secvență de numere consecutive). == Cerinţa == Dându-se Q întrebări, să se răspundă la acestea. La fiecare interogare, dacă prin sortare se o...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enunt ==&lt;br /&gt;
Se dă un șir (a[1], a[2], ..., a[n]) de numere naturale cuprinse între 1 și n. Se dau de asemenea Q interogări, fiecare prin două numere x, y: dacă s-ar ordona a[x], a[x+1], ..., a[y], se obține sau nu o secvență de numere consecutive? (De exemplu, 5,3,6,4 dacă e ordonată se obține 3,4,5,6, care este o secvență de numere consecutive).&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Dându-se Q întrebări, să se răspundă la acestea. La fiecare interogare, dacă prin sortare se obține o secvență de numere consecutive veți afișa valoarea 1, iar în caz contrar veți afișa valoarea 0.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
De la tastatură, de pe prima linie se citește numărul natural n. Pe linia a doua se află n numere naturale reprezentând elementele șirului. Pe a treia linie se află numărul Q, iar pe următoarele Q linii se găsesc câte două numere naturale x și y, 1 ≤ x ≤ y ≤ n, reprezentând câte o interogare.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
La ecran se vor afișa pe o singură linie, fără spații, Q cifre din mulțimea {0, 1} reprezentând răspunsurile la fiecare întrebare.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* Pentru 10 puncte, 3 ≤ n ≤ 50, 1 ≤ Q ≤ 100&lt;br /&gt;
* Pentru 30 puncte, n ≤ 300, Q ≤ 10.000&lt;br /&gt;
* Pentru 60 puncte, 10.000 ≤ n ≤ 100.000, Q ≤ 200.000&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 9&lt;br /&gt;
 4 1 3 4 2 1 6 5 4&lt;br /&gt;
 5&lt;br /&gt;
 1 4&lt;br /&gt;
 3 5&lt;br /&gt;
 3 6&lt;br /&gt;
 5 9&lt;br /&gt;
 7 9&lt;br /&gt;
; Ieșire&lt;br /&gt;
 01101&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Sunt 5 interogări.&lt;br /&gt;
Întrebarea 1: 4 1 3 4 nu obține o secvență de numere consecutive, deci răspunsul este 0.&lt;br /&gt;
Întrebarea 2: 3 4 2 obține o secvență de numere consecutive, deci răspunsul este 1.&lt;br /&gt;
Întrebarea 3: 3 4 2 1 obține o secvență de numere consecutive, deci răspunsul este 1.&lt;br /&gt;
Întrebarea 4: 2 1 6 5 4 nu obține o secvență de numere consecutive, deci răspunsul este 0.&lt;br /&gt;
Întrebarea 5: 6 5 4 obține o secvență de numere consecutive, deci răspunsul este 1.&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def can_form_consecutive_sequence(arr, x, y):&lt;br /&gt;
    sorted_arr = sorted(arr[x-1:y])&lt;br /&gt;
    for i in range(1, len(sorted_arr)):&lt;br /&gt;
        if sorted_arr[i] != sorted_arr[i-1] + 1:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    n = int(input())&lt;br /&gt;
    arr = list(map(int, input().split()))&lt;br /&gt;
    Q = int(input())&lt;br /&gt;
&lt;br /&gt;
    result = &amp;quot;&amp;quot;&lt;br /&gt;
    for _ in range(Q):&lt;br /&gt;
        x, y = map(int, input().split())&lt;br /&gt;
        result += &amp;quot;1&amp;quot; if can_form_consecutive_sequence(arr, x, y) else &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    print(result)&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>AjM</name></author>
	</entry>
</feed>