Votus

Time limit: 0.3s Memory limit: 256MB Input: votus.in Output: votus.out

Cerință

La o cabină de vot s-au prezentat nn oameni, convenabil numerotați de la 11 la nn.

În cabina de vot se poate afla maxim o persoană la orice moment dat, din motive de confidențialitate. Prin urmare, cele nn persoane vor forma o coadă în fața cabinei.

Persoana ii este caracterizată prin 33 numere:

  • cic_i: persoana ii se va așeza la coadă la începutul minutului cic_i.
  • tit_i: persoanei ii îi va lua tit_i minute ca să voteze. Dacă aceasta începe să voteze la începutul minutului xx, atunci ea va termina la sfârșitul minutului x+ti1x+t_i-1.
  • did_i: persoana ii este dispusă să stea la coadă până la începutul minutului ci+dic_i+d_i.

Când o persoană termină de votat la sfârșitul unui minut, aceasta va dispărea ca prin minune (va fi escortată de securitate), iar prima persoană din coadă va intra în cabină la începutul minutului următor.

În plus, cabina este deschisă doar până la sfârșitul minutului mm. Persoanele care încă stau la coadă în momentul închiderii cabinei nu vor mai apuca să voteze. Dacă o persoană începe să voteze înainte să se închidă cabina, atunci aceasta va fi lăsată să termine de votat, după care va pleca acasă.

Pentru a realiza un exit-poll convingător, va trebui să aflați câte persoane au reușit să voteze și indicii acestora.

Date de intrare

Pe prima linie a fișierului de intrare votus.in se vor gasi două numere nn si mm - numărul de oameni care vor să voteze, respectiv minutul când se închide cabina de vot.

Pe fiecare dintre următorele nn linii se vor afla câte trei numere ci,tic_i,t_i și did_i, cu semnificațiile din enunț.

Date de ieșire

Pe prima linie a fișierului de ieșire votus.out se va afla kk - numărul de persoane care au reușit să voteze. \newline

Pe a doua linie se vor afla kk indici i1<i2<<iki_1 < i_2 < \ldots < i_k - persoanele care au reușit să voteze. \newline

Restricții și precizări

  • 1n21051 \le n \le 2 \cdot 10^5
  • nm109n \le m \le 10^9
  • 1ci,ti,dim1 \le c_i,t_i,d_i \le m
  • Se garantează că toate elementele șirului cc sunt distincte.
    # Punctaj Restricții
    1 30 m1000m \le 1000
    2 20 n1000n \le 1000
    4 20 m2105m \le 2 \cdot 10^5
    5 30 Fără restricții suplimentare

Exemplul 1

votus.in

5 9
2 4 2
5 3 6
9 1 4
1 3 1
3 1 3

votus.out

3
1 2 4

Explicație

La începutul minutului 11 s-a așezat persoana 44 la coadă și va începe imediat să voteze până la sfârșitul minutului 33.

La începutul minutului 22 s-a așezat persoana 11 la coadă. Aceasta este dispusă să stea la coadă până la începutul minutului 44.

La începutul minutului 33 s-a așezat persoana 55 la coadă. La sfârșitul minutului 33 a terminat de votat persoana 44.

La începutul minutului 44 va începe să voteze persoana 11, până la sfârșitul minutului 77.

La începutul minutului 55 s-a așezat persoana 22 la coadă.

La începutul minutului 66, persoana 55 a părăsit coada.

La sfârșitul minutului 77, persoana 11 a terminat de votat.

La începutul minutului 88, persoana 22 va incepe să voteze, urmând să termine la finalul minutului 1010.

Persoana 33 va pleca acasă.

Log in or sign up to be able to send submissions!