<?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=2197_-_taietura</id>
	<title>2197 - taietura - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=2197_-_taietura"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2197_-_taietura&amp;action=history"/>
	<updated>2026-05-01T05:51:59Z</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=2197_-_taietura&amp;diff=9629&amp;oldid=prev</id>
		<title>Aurelia Raluca at 16:15, 12 February 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2197_-_taietura&amp;diff=9629&amp;oldid=prev"/>
		<updated>2024-02-12T16:15:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;//wiki.universitas.ro/index.php?title=2197_-_taietura&amp;amp;diff=9629&amp;amp;oldid=9320&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Aurelia Raluca</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2197_-_taietura&amp;diff=9320&amp;oldid=prev</id>
		<title>Aurelia Raluca: Pagină nouă: == Enunt ==  Fiind dat un șir V format din N numere întregi V[1], …, V[N], definim o tăietură în poziția pos ca fiind o subsecvență care conține elementul de pe poziția pos. Formal, tăieturile în poziția pos sunt de forma V[k], V[k+1], …, V[pos], …, V[r-1], V[r] pentru orice k, 1 ≤ k ≤ pos și orice r, pos ≤ r ≤ N. Valoarea unei tăieturi este suma tuturor elementelor care fac parte din tăietura respectivă. Definim funcția MulT(pos) ca fiind num...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2197_-_taietura&amp;diff=9320&amp;oldid=prev"/>
		<updated>2024-01-09T11:15:47Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt ==  Fiind dat un șir V format din N numere întregi V[1], …, V[N], definim o tăietură în poziția pos ca fiind o subsecvență care conține elementul de pe poziția pos. Formal, tăieturile în poziția pos sunt de forma V[k], V[k+1], …, V[pos], …, V[r-1], V[r] pentru orice k, 1 ≤ k ≤ pos și orice r, pos ≤ r ≤ N. Valoarea unei tăieturi este suma tuturor elementelor care fac parte din tăietura respectivă. Definim funcția MulT(pos) ca fiind num...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enunt ==&lt;br /&gt;
&lt;br /&gt;
Fiind dat un șir V format din N numere întregi V[1], …, V[N], definim o tăietură în poziția pos ca fiind o subsecvență care conține elementul de pe poziția pos. Formal, tăieturile în poziția pos sunt de forma V[k], V[k+1], …, V[pos], …, V[r-1], V[r] pentru orice k, 1 ≤ k ≤ pos și orice r, pos ≤ r ≤ N. Valoarea unei tăieturi este suma tuturor elementelor care fac parte din tăietura respectivă. Definim funcția MulT(pos) ca fiind numărul de tăieturi în poziția pos care au valoarea 0.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
&lt;br /&gt;
Ioana, fiind foarte curioasă din fire, dar și foarte fascinată de această funcție numită MulT, este foarte interesată în a afla rezultatul pentru MulT(i), unde 1 ≤ i ≤ N.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
&lt;br /&gt;
Fișierul de intrare taietura.in conţine pe prima linie un număr natural N, reprezentând numărul de elemente din șirul V. Următoarea linie va conține exact N valori întregi despărțite prin câte un spațiu, și anume elementele șirului V.&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
&lt;br /&gt;
Fișierul de ieșire taietura.out va conţine pe prima linie N numere naturale separate prin câte un spațiu, și anume valorile funcției MulT(i), unde 1 ≤ i ≤ N.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
&lt;br /&gt;
*1 ≤ N ≤ 100 000&lt;br /&gt;
*Orice element al șirului V este mai mic sau egal în valoare absolută cu 1 000 000 000&lt;br /&gt;
*Pentru teste în valoare de 20 de puncte N ≤ 100&lt;br /&gt;
*Pentru teste în valoare de încă 20 de puncte N ≤ 1000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
;taieturain.txt&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:0 1 0&lt;br /&gt;
&lt;br /&gt;
;taieturaout.txt&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restrictiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:1 0 1&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
&lt;br /&gt;
;taietrurain.txt&lt;br /&gt;
&lt;br /&gt;
:50&lt;br /&gt;
&lt;br /&gt;
;taieturaout.txt&lt;br /&gt;
&lt;br /&gt;
:Datele de intrare nu corespund restrictiilor impuse.&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
def calculate_MulT(N, V):&lt;br /&gt;
    prefix_sum = [0] * (N + 1)&lt;br /&gt;
    result = 0&lt;br /&gt;
&lt;br /&gt;
    # Construim vectorul prefix_sum&lt;br /&gt;
    for i in range(1, N + 1):&lt;br /&gt;
        prefix_sum[i] = prefix_sum[i - 1] + V[i - 1]&lt;br /&gt;
&lt;br /&gt;
    # Calculăm funcția MulT pentru fiecare poziție&lt;br /&gt;
    for i in range(1, N + 1):&lt;br /&gt;
        for j in range(i, N + 1):&lt;br /&gt;
            if prefix_sum[j] - prefix_sum[i - 1] == 0:&lt;br /&gt;
                result += 1&lt;br /&gt;
&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    N = int(input(&amp;quot;Introduceți lungimea șirului V: &amp;quot;))&lt;br /&gt;
    V = list(map(int, input(&amp;quot;Introduceți elementele șirului V, separate prin spațiu: &amp;quot;).split()))&lt;br /&gt;
&lt;br /&gt;
    rezultat = calculate_MulT(N, V)&lt;br /&gt;
    print(f&amp;quot;Rezultatul pentru funcția MulT este: {rezultat}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aurelia Raluca</name></author>
	</entry>
</feed>