#include<iostream>
#include<string.h>
#include<string>
#include<stack>
#include<stdio.h>
#include<queue>
#include<functional>
#include<set>
#include<map>
#include<stdlib.h>
#include<vector>
#include<math.h>
#include <algorithm>
#pragma warning(disable:4996)
using namespace std;
const int maxs = 1000000;
int sum[maxs];
int col[maxs];
int lowbit(int x)
{
return x&(-x);
}
int qus(int x)
{
int num = 0;
while (x)
{
num += sum[x];
x -= lowbit(x);
}
return num;
}
void add(int x, int v,int n)
{
while (x <= n)
{
sum[x] += v;;
x += lowbit(x);
}
}
void upd(int x, int y, int v,int n)
{
add(x, v,n);
add(y + 1, -v,n);
}
int main()
{
int n;
while(~scanf("%d", &n)&&n)
{
memset(sum, 0, sizeof(sum));
for (int i = 1; i <= n; i++)
{
int x, y;
scanf("%d %d", &x, &y);
upd(x, y, 1,n);
}
for (int i = 1; i <= n; i++)
{
if (i == 1)
printf("%d", qus(i));
else
printf(" %d", qus(i));
}
printf("\n");
}
return 0;
}
D - Color the ball
最新推荐文章于 2022-10-13 17:41:48 发布