EGOI '23 P1 - Inflation

View as PDF

Submit solution

Points: 7 (partial)
Time limit: 3.0s
Memory limit: 1G

Problem type
European Girls' Olympiad in Informatics: 2023 Day 1 Problem 1

People in southern Sweden are known to eat falafel a lot. The price of falafel is highly volatile, and the best way to analyze the state of the economy is to go to the same falafel place every day and add up all the prices on their menu.

A falafel place has N different dishes on their menu. The i-th dish has price pi.

Every day, one of the following events happen:

  1. INFLATION x: The integer x is added to all prices.
  2. SET x y: Every dish with price x gets its price set to y.

Your task is to process Q days, and after each day print the sum of all prices pi.

Input Specification

The first line contains one integer N, the number of dishes.

The second line contains N integers p1,p2,,pN.

The third line contains one integer Q, the number of days.

The following Q lines each contain a string s followed by either one or two integers.

If s is INFLATION, then one integer x follows. This means that x is added to all prices on this day.

If s is SET, then two integers x and y follow. This means that all dishes with price x get their price set to y on this day.

Output Specification

Print Q lines, the sum of all prices pi after each day.

Constraints and Scoring

  • 1N3×105.
  • 1pi106 (for each i).
  • 1Q105.
  • 1x,y106.

Note: The answer may not fit in a 32-bit integer, so be aware of overflows if you are using C++.

Your solution will be tested on a set of test groups, each worth a number of points. Each test group contains a set of test cases. To get the points for a test group you need to solve all test cases in the test group.

Group Score Limits
1 14 N=1
2 28 N,Q,pi,x,y100
3 19 There are only INFLATION events.
4 23 There are only SET events.
5 16 No additional constraints.

Example

This figure corresponds to the first two days of sample 1. Note that the sum of prices after the first day is 16, so the first integer in the output is 16.

Sample Input 1

Copy
5
2 1 1 2 5
6
INFLATION 1
SET 3 2
SET 5 2
INFLATION 4
SET 6 1
SET 10 1

Sample Output 1

Copy
16
14
14
34
14
5

Sample Input 2

Copy
3
1 4 1
5
SET 1 1
SET 3 4
INFLATION 2
SET 3 1
SET 6 4

Sample Output 2

Copy
6
6
12
8
6

Comments

There are no comments at the moment.