제출 #1351380

#제출 시각아이디문제언어결과실행 시간메모리
1351380cholpon1Inflation (EGOI23_inflation)C++20
61 / 100
3093 ms9952 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
    cin.tie(0)->sync_with_stdio(0);
    int n;
    cin >> n;
    vector <int> v(n + 1);
    long long sum = 0;
    for (int i = 1; i <= n; i++) {
        cin >> v[i];
        sum += v[i];
    }
    int q;
    cin >> q;
    vector <string> s(q + 1);
    vector <int> a(q + 1, 0);
    vector <pair <int, int>> b(q + 1, {0, 0});
    bool gd = true;
    for (int i = 1; i <= q; i++) {
        cin >> s[i];
        if (s[i] == "INFLATION") {
            int x;
            cin >> x;
            a[i] = x;
        } else {
            gd = false;
            int x, y;
            cin >> x >> y;
            b[i].first = x;
            b[i].second = y;
        }
    }
    if (gd) {
        for (int i = 1; i <= q; i++) {
            sum += a[i]*n;
            cout << sum << "\n";
        }
    } else {
        for (int i = 1; i <= q; i++) {
            if (s[i] == "INFLATION") {
                int sum1 = 0;
                for (int j = 1; j <= n; j++) {
                    v[j] += a[i];
                    sum1 += v[j];
                }
                cout << sum1 << "\n";
                
            } else {
                int sum2 = 0;
                for (int j = 1; j <= n; j++) {
                    if (v[j] == b[i].first) {
                        v[j] = b[i].second;
                    }
                    sum2 += v[j];
                }
                cout << sum2 << "\n";
                
            }
        }
    }
    
    return 0;
}
#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...