LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
Takmičarsko Znanje
Izbor Radnog Okruženja (IDE)
Osnove
Tvoj Prvi ProgramTipovi podataka, Unos i IzlazC++ sintaksaModuloFunkcijeVektoriMatriceVremenska Složenost Algoritma
Sortiranje
SortiranjeSortiranje PrebrojavanjemRadix Sort
Tehnike Optimizacije
Dva PokazivačaZbir brojeva od 1 do nZbir PrefiksaBinarna PretragaPohlepni AlgoritmiFunkcije Binarne PretrageBinarna Pretraga po RešenjuPodeli, pa Vladaj
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad BitovimaBitmaske
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo SitoModifikovano Sito
Strukture Podataka
Niske (Stringovi)StekRedMapeSkupovi (Set)Red sa PrioritetomKorišćenje Proizvoljnih KriterijumaSegmentna StablaFenvikova StablaSparse TabeleDisjunktni Skupovi
Kombinatorika
Pravilo SabiranjaPravilo MnoženjaKombinatorni ObjektiPrincip Uključenja Isključenja
Geometrija
Osnove GeometrijeVektoriVektorski i Skalarni ProizvodLinijePoligoniUgloviTačka u PoligonuRastojanja i Tačke PresekaKonveksni OmotačKrugovi
Rekurzija
PokazivačiRekurzijaGenerisanje Kombinatornih Objekata
Dinamičko Programiranje
O DP-uDP nad StablimaDP nad BitmaskamaDP nad brojevima
Teorija Grafova
GrafoviDFS i BFSNajkraći PuteviStablaTopološko SortiranjeDajkstrin AlgoritamMinimalna Razapinjuća StablaAlgoritmi Najkraćih Puteva
Napredna Teorija Grafova
Dvostruka PovezanostJako Povezane KomponenteBipartitni GrafMaksimalni Protok u GrafuFord-Fulkersonov AlgoritamDualnost Protoka i Minimalnog PresekaTeško-Laka DekompozicijaCentroidna Dekompozicija
Napredne Strukture Podataka
2D i 3D Segmentna StablaLenjo PropagiranjeImplicitna Segmentna StablaPerzistentna Segmentna StablaNajbliži Zajednički PredakTrieBalansirana Binarna Stabla PretrageMoov Algoritam

Trojke datog zbira

EasyProblem #21
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Pazi na prekoračenje pri sabiranju elemenata. Pogledaj ograničenje za n

Takmičari iz programiranja imaju rejting izražen celim brojem (moguće i negativnim). Škola treba da pošalje tročlane ekipe na državno ekipno takmičenje, a uputstvo organizatora je da sve ekipe budu ujednačene: zbirni rejting svake ekipe mora biti nula. Ako su poznati rejtinzi svih takmičara jedne škole, tvoj zadatak je da odrediš na koliko načina škola može da odabere svoju ekipu.

Formalno, brojiš načine da se izaberu tri različita takmičara čiji je zbir rejtinga 0.

Ulaz

U prvoj liniji je jedan ceo broj t - broj test primera.

  • U prvoj liniji svakog test primera je ceo broj n - broj takmičara.
  • U sledećoj liniji je n međusobno različitih celih brojeva a0​,a1​,…,an−1​ - njihovi rejtinzi.

Izlaz

Za svaki test primer ispiši u posebnoj liniji broj mogućih ekipa čiji je zbirni rejting nula.

Primer

Input
1
9
-8 -5 7 4 1 -2 9 -3 2
Output
4

Ekipe su (−8,1,7), (−5,4,1), (−3,1,2) i (−5,−2,7).

Ograničenja

1≤t≤100
3≤n≤5000
−109≤ai​≤109
n1​+n2​+…+nt​≤5000


Zadatak je, uz dozvolu, preuzet iz zadatka Trojke datog zbira (3sum), čiji su autori Društvo matematičara Srbije i Fondacija Petlja.

Pošalji svoje rešenje

Prijavi se da pošalješ rešenje i pratiš svoj napredak.

Prijavi se