#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
int main() {
vector<int> data({1, 2, 2, 3, 4});
unordered_map<int,int> count;
vector<int> res(data.size(), 0);
for (int i = data.size()-1 ; i >= 0 ; i--) {
res[i] = count[data[i]]++;
}
for (int i = 0 ; i != res.size() ; i++) {
cout << data[i] << " - " << res[i] << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+IGRhdGEoezEsIDIsIDIsIDMsIDR9KTsKCXVub3JkZXJlZF9tYXA8aW50LGludD4gY291bnQ7Cgl2ZWN0b3I8aW50PiByZXMoZGF0YS5zaXplKCksIDApOwoJZm9yIChpbnQgaSA9IGRhdGEuc2l6ZSgpLTEgOyBpID49IDAgOyBpLS0pIHsKCQlyZXNbaV0gPSBjb3VudFtkYXRhW2ldXSsrOwoJfQoJZm9yIChpbnQgaSA9IDAgOyBpICE9IHJlcy5zaXplKCkgOyBpKyspIHsKCQljb3V0IDw8IGRhdGFbaV0gPDwgIiAtICIgPDwgcmVzW2ldIDw8IGVuZGw7Cgl9CglyZXR1cm4gMDsKfQ==