Fișierul intrare/ieșire incrementmax.in, incrementmax.out Sursă Codility
Autor autor necunoscut Adăugată de avatar teodor94 Teodor Plop teodor94
Timp de execuție pe test 0.05 sec Limită de memorie 1024 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip halfstea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Increment & Max

Dacă tot am vorbit de curând despre tehnica împarte și cucerește, cred că este momentul să descoperim și tehnica incrementează și “maxează”.

Se dă un vector V cu N elemente, numerotate de la 1 la N. Inițial toate elementele vectorului sunt egale cu zero. Asupra vectorului se aplică Q operații de două tipuri:

  • 1 X Y: Valoarea de pe poziția X este incrementată cu Y.
  • 2: Toate valorile din vector devin egale cu valoarea maximă.

Date de intrare

Fișierul de intrare incrementmax.in conține pe prima linie numerele N și Q, separate printr-un spațiu. Pe fiecare din următoarele Q linii se va găsi câte o operație din cele Q, sub forma prezentată în enunț.

Date de ieșire

Fișierul de ieșire incrementmax.out va conține o singură linie, pe care vor fi scrise cele N valori din vectorul V, separate între ele prin câte un spațiu.

Restricții

  • 1 ≤ N ≤ 100.000
  • 1 ≤ Q ≤ 100.000
  • Se garantează că în toate operațiile de tip 1, 1 <= X <= N și 1 <= Y <= 20.000
  • Pentru 40% dintre teste: 1 <= N <= 1.000 și 1 <= Q <= 1.000

Exemplu

incrementmax.in incrementmax.out
5 7
1 3 1
1 3 1
1 2 1
2
1 5 1
2
1 1 1
4 3 3 3 3

Explicație

Vectorul după fiecare operație în parte:

0. [0, 0, 0, 0, 0]
1. [0, 0, 1, 0, 0]
2. [0, 0, 2, 0, 0]
3. [0, 1, 2, 0, 0]
4. [2, 2, 2, 2, 2]
5. [2, 2, 2, 2, 3]
6. [3, 3, 3, 3, 3]
7. [4, 3, 3, 3, 3]

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 2 categorii