Submission #1354831

#TimeUsernameProblemLanguageResultExecution timeMemory
1354831Francisco_MartinInflation (EGOI23_inflation)C++20
100 / 100
322 ms22144 KiB
//EGOI 2023 Inflation
//https://qoj.ac/contest/1354/problem/7154

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector<ll>;

int main(){
    ll n, q, a, b; string s;
    cin >> n;
    ll tot=0, offset=0; map<ll,ll> freq;
    for(int i=0; i<n; i++) cin >> a, freq[a]++, tot+=a;
    cin >> q;
    for(int i=0; i<q; i++){
        cin >> s;
        if(s=="INFLATION") cin >> a, offset+=a;
        else{
            cin >> a >> b; ll cnt=freq[a-offset];
            tot+=(b-a)*cnt; freq[a-offset]=0; freq[b-offset]+=cnt;
        }
        cout << tot+n*offset << "\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...