Pagini recente » Cod sursa (job #380) | Cod sursa (job #450570) | Cod sursa (job #2395882) | Cod sursa (job #173501) | Cod sursa (job #3283462)
#include <fstream>
#include <algorithm>
#include <map>
#include <unordered_map>
using namespace std;
ifstream f("marbles.in");
ofstream g("marbles.out");
int n, m, x, v, y;
int main()
{
f >> n >> m;
map <int, int> culori;
for (int i = 1; i <= n; ++i) {
int a, b;
f >> a >> b;
culori[a] = b;
}
for (int i = 1; i <= m; ++i) {
f >> v >> x >> y;
if (v == 0) {
int culoareVeche = culori[x];
culori.erase(x);
culori[x + y] = culoareVeche;
}
else {
int fr[65] = {0};
auto st = culori.lower_bound(x);
auto dr = culori.upper_bound(y);
for (auto it = st; it != dr; ++it) {
fr[it -> second]++;
}
int ans = -1;
for (int i = 1; i <= 64; ++i) {
ans = max(ans, fr[i]);
}
g << ans << '\n';
}
}
return 0;
}