Pagini recente » Cod sursa (job #1446862) | Cod sursa (job #2946142) | Cod sursa (job #2787522) | Cod sursa (job #2671404) | Cod sursa (job #1412994)
# include <cstdio>
# include <algorithm>
# define MAX 100005
using namespace std;
int N, M, i, coord, cul, a[MAX], ap[65], OP, I, J, poz, Max, nr, b[MAX];
void clean ()
{
int i;
Max = 0;
for (i = 1; i <= 65; i++)
ap[i] = 0;
}
int main ()
{
freopen("marbles.in","r",stdin);
freopen("marbles.out","w",stdout);
scanf("%d %d\n",&N,&M);
for (i = 1; i <= N; i++)
{
scanf("%d %d\n", &coord, &cul);
if (coord < 0) b[abs(coord)] = cul;
a[coord] = cul;
}
for (i = 1 ; i <= M; i++)
{
scanf("%d %d %d\n", &OP, &I, &J);
if (OP == 0)
{
poz = I + J;
if (poz < 0) swap(b[poz],a[I]);
else
swap(a[poz],a[I]);
}
if (OP == 1)
{
clean();
for (int k = I; k <= J; k++)
{
if (k < 0)
{
if (b[k] != 0)
{
ap[b[k]]++;
if (ap[b[k]] > Max) Max = ap[b[k]];
}
}
if (a[k] != 0)
{
ap[a[k]]++;
if (ap[a[k]] > Max) Max = ap[a[k]];
}
}
printf("%d\n",Max);
}
}
return 0;
}