LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
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 Pretrage
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad Bitovima
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo Sito
Strukture Podataka
Niske (Stringovi)StekRed
Dinamičko Programiranje
O DP-uDP problemi

Broj rastućih segmenata

EasyProblem #13
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Pazi na veličinu rezultata.

Dat je niz a od n celih brojeva. Segment niza čini grupa uzastopnih elemenata. Segment je rastući ako je svaki njegov element strogo manji od sledećeg i ako ima bar dva elementa. Tvoj zadatak je da izbrojiš rastuće segmente datog niza.

Formalno, brojiš parove pozicija (p,q), 0≤p<q<n, za koje važi ap​<ap+1​<…<aq​.

Ulaz

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

  • U prvoj liniji svakog test primera je ceo broj n - broj elemenata.
  • U sledećoj liniji je n celih brojeva a0​,a1​,…,an−1​ - elementi niza.

Izlaz

Za svaki test primer ispiši u posebnoj liniji broj rastućih segmenata.

Primer

Input
2
5
1 3 4 -2 10
4
2 2 3 1
Output
4
1

U prvom test primeru rastući segmenti su [1,3], [1,3,4], [3,4] i [−2,10]. U drugom je jedini [2,3] - par jednakih elemenata [2,2] se ne računa, rast mora biti strog.

Ograničenja

1≤t≤1000
2≤n≤2⋅105
−109≤ai​≤109
n1​+n2​+…+nt​≤2⋅105


Zadatak je, uz dozvolu, preuzet iz zadatka Broj rastućih segmenata, č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