Pagini recente » Cod sursa (job #2780485) | Cod sursa (job #1828389) | Cod sursa (job #703132) | Cod sursa (job #2166224) | Cod sursa (job #2087215)
#include <fstream>
#include <algorithm>
using namespace std;
pair<int,int> a[100001];
int n,i,m,mij,st,dr,x,y,maxi,mini,nrmax,j,tip,cul[80];
int main()
{
ifstream f("marbles.in");
ofstream g("marbles.out");
f>>n>>m;
for(i=1; i<=n; i++)
f>>a[i].first>>a[i].second;
sort(a+1,a+n+1);
for(i=1; i<=m; i++)
{
f>>tip>>x>>y;
if(tip==0)
{
st=1;
dr=n;
while(st<=dr)
{
mij=(st+dr)/2;
if(a[mij].first==x)
{
a[mij].first=x+y;
break;
}
else if(a[mij].first<x)
st=mij+1;
else
dr=mij-1;
}
}
else
{
mini=65;
maxi=0;
nrmax=0;
for(j=1; j<=n; j++)
if(a[j].first>=x and a[j].first<=y)
{
cul[a[j].second]++;
if(a[j].second<mini)
mini=a[j].second;
if(a[j].second>maxi)
maxi=a[j].second;
}
for(j=mini; j<=maxi; j++)
{
if(cul[j]>nrmax)
nrmax=cul[j];
cul[j]=0;
}
g<<nrmax<<"\n";
}
}
return 0;
}