제출 #1350965

#제출 시각아이디문제언어결과실행 시간메모리
1350965mxhrvsInflation (EGOI23_inflation)C++20
100 / 100
331 ms20548 KiB
#include<bits/stdc++.h>
using namespace std;
using ll = long long ;
signed main(){
    ll n,m;
    map<ll,ll> mp;
    ll sum = 0;
    ll lazy_add = 0;
    cin >> n;
    ll a[n+5];
    for(ll i = 1; i <= n; i ++){
        cin >> a[i];
        sum += a[i];
        mp[a[i]] ++;
    }
    cin >> m;
    for(ll i = 1; i <= m; i ++){
        string s;
        cin >> s;
        ll x,y;
        if(s == "INFLATION"){
            cin >> x;
            sum += n * x;
            lazy_add += x;
        }
        else if(s == "SET"){
            cin >> x >> y;
            ll target_x = x - lazy_add;
            ll target_y = y - lazy_add;

            if (mp.count(target_x) && x != y) {
                ll num_items = mp[target_x];
                
                sum -= num_items * x;
                sum += num_items * y;

                mp[target_y] += num_items;
                mp.erase(target_x);
            }
        }
        cout << sum << "\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...