제출 #1359545

#제출 시각아이디문제언어결과실행 시간메모리
1359545sztrdxstthgInflation (EGOI23_inflation)C++20
100 / 100
80 ms14804 KiB
//marche pas avec une tbl d'occ, il faut afire avec une map

#include <iostream>
#include <unordered_map>
#include <string>
#define int long long
using namespace std;

const int PRIX_MAX = 1000001;
int nbPrix, nbJours;
unordered_map<int, int> occ;
int sSSInfl, sInfl;

void init() {
    sSSInfl = 0, sInfl = 0;
    cin >> nbPrix;
    for (int idP = 0; idP < nbPrix; idP++) {
        int prix;
        cin >> prix;
        if(occ.count(prix)) {
            occ[prix]++;
        }
        else {
            occ[prix] = 1;
        }
        sSSInfl += prix;
    }
}


void jours() {
    cin >> nbJours;
    for (int idJ = 0; idJ < nbJours; idJ++) {
        string r;
        cin >> r;
        //cout << "\n\njour num : " << idJ << ' ';
        if (r == "SET") {
            int dep, arr;
            cin >> dep >> arr;
            dep -= sInfl, arr -= sInfl; 
            int nb = occ[dep];
            occ[dep] -= nb;
            sSSInfl -= nb * dep;
            occ[arr] += nb;
            sSSInfl += nb * arr;
        }
        else {
            int x;
            cin >> x;
            sInfl += x;
        }
        cout << sSSInfl + sInfl*nbPrix << '\n';
    }
}


signed main() {
    ios::sync_with_stdio(false), cin.tie(0);
    init();
    jours();
    return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…