<?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=3230_-_Cambridge</id>
	<title>3230 - Cambridge - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3230_-_Cambridge"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3230_-_Cambridge&amp;action=history"/>
	<updated>2026-05-01T12:10:20Z</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=3230_-_Cambridge&amp;diff=9982&amp;oldid=prev</id>
		<title>AjM: Pagină nouă: == Enunt == Interviul de admitere la prestigioasa Universitate Cambridge constă în N probleme, numerotate de la 1 la N. Alex este în momentul acesta acolo, așteptând să susțină interviul. Takahiro Wong, care tocmai a ieșit din examen, a rezolvat toate problemele, problema i rezolvând-o după Di secunde de la începerea interviului. Cunoscând ca poate rezolva fiecare problema i în Ti secunde, Alex, panicat din fire, își pune M întrebări de forma: x y. Pentru fi...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3230_-_Cambridge&amp;diff=9982&amp;oldid=prev"/>
		<updated>2024-06-03T16:07:19Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt == Interviul de admitere la prestigioasa Universitate Cambridge constă în N probleme, numerotate de la 1 la N. Alex este în momentul acesta acolo, așteptând să susțină interviul. Takahiro Wong, care tocmai a ieșit din examen, a rezolvat toate problemele, problema i rezolvând-o după Di secunde de la începerea interviului. Cunoscând ca poate rezolva fiecare problema i în Ti secunde, Alex, panicat din fire, își pune M întrebări de forma: x y. Pentru fi...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enunt ==&lt;br /&gt;
Interviul de admitere la prestigioasa Universitate Cambridge constă în N probleme, numerotate de la 1 la N. Alex este în momentul acesta acolo, așteptând să susțină interviul. Takahiro Wong, care tocmai a ieșit din examen, a rezolvat toate problemele, problema i rezolvând-o după Di secunde de la începerea interviului.&lt;br /&gt;
Cunoscând ca poate rezolva fiecare problema i în Ti secunde, Alex, panicat din fire, își pune M întrebări de forma: x y. Pentru fiecare întrebare, Alex vrea să afle dacă poate rezolva fiecare problemă din intervalul [x;y] înaintea lui Takahiro Wong (Alex poate rezolva problemele din intervalul [x;y] în ce ordine dorește).&lt;br /&gt;
De exemplu, să considerăm că Alex rezolvă problemele a și b (în această ordine). El va termina problema a după Ta secunde, și problema b după Ta + Tb secunde. Alex va rezolva ambele probleme înaintea lui Takahiro Wong dacă Ta &amp;lt; Da și Ta + Tb &amp;lt; Db. Atât interviul lui Takahiro Wong, cât și cel al lui Alex încep de la secunda 0.&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Ajutați-l pe Alex să răspundă corect la cele M întrebări pentru a nu intra panicat la interviu.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Pe prima linie se vor citi de la tastatura N și M, separate prin câte un spațiu. N – numărul de probleme, M – numărul de întrebări.&lt;br /&gt;
&lt;br /&gt;
Pe următoarele N linii se vor citi de la tastatura Ti și Di, separate prin câte un spațiu. Ti – timpul necesar lui Alex sa rezolve problema i. Di – timpul (de la începerea interviului) după care Takahiro Wong rezolv[ problema i.&lt;br /&gt;
&lt;br /&gt;
Pe următoarele M linii se vor citi de la tastatură x și y, separate prin câte un spațiu. x – capătul din stânga al intervalului. y – capătul din dreapta al intervalului.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Se vor afișa pe ecran M linii – răspunsurile la cele M întrebări. Linia cu numărul i va conține răspunsul pentru întrebarea cu numărul i: 1, dacă Alex poate găsi o ordine în care să rezolve toate problemele din intervalul [x;y], astfel încât să termine fiecare problema înaintea lui Takahiro Wong, sau 0, altfel.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* 1 ≤ N, M ≤ 100.000&lt;br /&gt;
* 1 ≤ Ti, Di ≤ 1.000.000.000&lt;br /&gt;
* Valorile Di nu sunt distincte două câte două (o valoarea poate apărea de mai multe ori)&lt;br /&gt;
* Alex nu poate rezolva două probleme în același timp, însă Takahiro Wong poate (valorile Di nu sunt distincte două câte două).&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 4 3&lt;br /&gt;
 1 10&lt;br /&gt;
 14 18&lt;br /&gt;
 2 7&lt;br /&gt;
 10 12&lt;br /&gt;
 3 4&lt;br /&gt;
 2 4&lt;br /&gt;
 1 3&lt;br /&gt;
; Ieșire&lt;br /&gt;
 0&lt;br /&gt;
 0&lt;br /&gt;
 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Sunt 4 probleme, numerotate de la 1 la 4:&lt;br /&gt;
* problema numărul 1: T1 = 1, D1 = 10;&lt;br /&gt;
* problema numărul 2: T2 = 14, D2 = 18;&lt;br /&gt;
* problema numărul 3: T3 = 2, D3 = 7;&lt;br /&gt;
* problema numărul 4: T4 = 10, D4 = 12;&lt;br /&gt;
* Prima întrebare se referă la intervalul [3,4]: – Dacă rezolvăm problemele în ordinea (3,4) trebuie să avem T3 &amp;lt; D3 și T3 + T4 &amp;lt; D4. Observăm că a doua relație este falsă. – Dacă rezolvăm problemele în ordinea (4,3) trebuie să avem T4 &amp;lt; D4 și T4 + T3 &amp;lt; D3. Observăm, din nou, că a doua relație este falsă. – Nu există nicio altă ordine în care putem rezolva problemele, deci răspunsul este 0.&lt;br /&gt;
* A doua întrebare se referă la intervalul [2,4]: – Exista șase modalități de a rezolva problemele: (2, 3, 4), (2, 4, 3), (3, 2, 4), (3, 4,  2), (4, 2, 3), (4, 3, 2). – În niciuna din cele șase modalități nu sunt toate relațiile respectate, deci răspunsul este 0.&lt;br /&gt;
* A treia întrebare se referă la intervalul [1,3]: – Exista șase modalități de a rezolva problemele: (1,2,3), (1, 3, 2), (2, 1, 3), (2, 3,  1), (3, 1, 2), (3, 2, 1). – Dacă rezolvăm problemele în ordinea (1,3,2) trebuie să avem T1 &amp;lt; D1, T1 + T3 &amp;lt; D3 și T1 + T3 + T2 &amp;lt; D2. * Observăm că toate sunt adevărate. – Deoarece am găsit o ordine de a rezolva problemele, pentru care toate relațiile sunt adevărate, 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_solve_in_time_interval(N, problems, x, y):&lt;br /&gt;
    max_time_ending_here = 0&lt;br /&gt;
    for i in range(x - 1, y):&lt;br /&gt;
        max_time_ending_here = max(max_time_ending_here, problems[i][0]) + problems[i][1]&lt;br /&gt;
        if max_time_ending_here &amp;gt; problems[i][2]:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    N, M = map(int, input().split())&lt;br /&gt;
&lt;br /&gt;
    problems = []&lt;br /&gt;
    for _ in range(N):&lt;br /&gt;
        T, D = map(int, input().split())&lt;br /&gt;
        problems.append((T, D, T + D))&lt;br /&gt;
&lt;br /&gt;
    for _ in range(M):&lt;br /&gt;
        x, y = map(int, input().split())&lt;br /&gt;
        if can_solve_in_time_interval(N, problems, x, y):&lt;br /&gt;
            print(1)&lt;br /&gt;
        else:&lt;br /&gt;
            print(0)&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>