CF1137E.Train Car Selection

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Vasya likes to travel by train, but doesn't like when the car he travels in is located in the tail of the train.

Vasya gets on the train at the station. The train consists of nn cars indexed from 11 to nn counting from the locomotive (head of the train). Three types of events occur while the train is moving:

  1. Some number of cars are added to the head of the train;
  2. Some number of cars are added to the tail of the train;
  3. Vasya recalculates the values of the convenience of the cars (read more about it below).

At each moment of time we will index the cars from the head of the train, starting from 11 . Note that when adding new cars to the head of the train, the indexing of the old ones may shift.

To choose which car to go in, Vasya will use the value AiA_i for each car (where ii is a car index), which is calculated as follows:

  • At the beginning of the trip Ai=0A_i=0 , as well as for the new cars at the time of their addition.
  • During the next recalculation Vasya chooses some positive integers bb and ss and adds to all AiA_i value b+(i1)sb + (i - 1) \cdot s .

Vasya hasn't decided yet where he will get on the train and where will get off the train, so after each event of one of the three types he wants to know the least index of the car, such that its value AiA_i is minimal. Since there is a lot of cars, Vasya asked you to write a program that answers his question.

输入格式

The first line contains two integers nn and mm ( 1n1091 \leq n \leq 10^9 , 1m3000001 \leq m \leq 300\,000 ), the number of cars in the train at the time of departure from the station and the number of stations, respectively.

Next mm lines contain the descriptions of events. Each event is one of the following three types:

  • " 11 kk " ( 1k1091 \le k \le 10^9 ), add kk cars to the head of the train
  • " 22 kk " ( 1k1091 \le k \le 10^9 ), add kk cars to the tail of the train
  • " 33 bb ss " ( 1b,s1091 \le b, s \le 10^9 ), recalculate the convenience of all train cars.

It is guaranteed that at any time the train length does not exceed 10910^9 . Also it's guaranteed that the integers AiA_i will not grow too high. Formally, it's guaranteed that if we sum the largest addition over all events of the 33 -rd type (that is, b+(n1)sb + (n - 1) \cdot s , where nn is the number of cars at that moment) then the acquired sum would be at most 101810^{18} .

输出格式

After each of the mm queries print two integers: jj and AjA_j — the number of the car closest to the head of the train, such that its value AjA_j is minimal, and the value AjA_j itself.

输入输出样例

  • 输入#1

    1 8
    1 1
    3 1 1
    3 1 1
    2 1
    2 1
    3 1 1
    2 1
    3 1 5
    

    输出#1

    1 0
    1 1
    1 2
    3 0
    3 0
    1 3
    5 0
    1 4
    

说明/提示

  • Initially the train consists of one car with A1=0A_1 = 0 , let's denote train as [0][0] for simplicity.
  • After adding one car to the head, train is [0,0][0, 0] .
  • After recalculation of values with parameters b=1,s=1b=1, s=1 , train is [1,2][1, 2] .
  • After another recalculation of values with the parameters b=1,s=1b=1, s=1 , train is [2,4][2, 4] .
  • After adding one car to the end, train is [2,4,0][2, 4, 0] .
  • After another adding one car to the end, train is [2,4,0,0][2, 4, 0, 0] .
  • After recalculation of values with parameters b=1b=1 , s=1s=1 , train is [3,6,3,4][3, 6, 3, 4] .
  • After adding one car to the end, train is [3,6,3,4,0][3, 6, 3, 4, 0] .
  • After recalculation of values with parameters b=1b=1 , s=5s=5 , train is [4,12,14,20,21][4, 12, 14, 20, 21] .
首页