Sie haben ein Array aus n positiven ganzen Zahlen. Ihre Aufgabe ist es, q Abfragen zu bearbeiten, wobei jede Abfrage einen von zwei Typen haben kann:
Überprüfen Sie, ob es im gegebenen Array ein Präfix-Teilarray (also ein Teilarray von Beginn des Arrays an) gibt, dessen Summe einem gegebenen Wert s entspricht.
Aktualisieren Sie den Wert an einem bestimmten Index im Array.
Schreiben Sie ein Programm, das diese Abfragen effizient beantwortet.
Eingabe
Die erste Zeile enthält zwei ganze Zahlen n und q (1 ≤ n, q ≤ 100 000), getrennt durch ein Leerzeichen. Diese geben die Größe des Arrays und die Anzahl der Abfragen an.
Die zweite Zeile enthält n positive ganze Zahlen, welche die Elemente des Arrays darstellen. Jedes Element ist positiv und überschreitet nicht .
Die nächsten q Zeilen repräsentieren die Abfragen. Jede Abfrage wird durch den Abfragetyp (1 oder 2) gekennzeichnet und erfordert zusätzliche Parameter:
Für Abfragetyp 1: eine ganze Zahl s.
Für Abfragetyp 2: eine Position p (Index) und einen Wert x, mit dem das Element an diesem Index aktualisiert wird.
Ausgabe
Für jede Abfrage vom Typ 1 geben Sie YES aus, falls ein Präfix-Teilarray existiert, dessen Summe s entspricht. Andernfalls geben Sie NO aus.