#P2060. 两科的排名.填空题

两科的排名.填空题

题目描述

nn 个人参加了数学、信息学考试,考试成绩都是范围在 [0,1000] 的正整数,如果学生 A 的 2 科成绩都比学生 B 的 2 科成绩少,A 就是绝对比 B 差,现在每个人想知道绝对比自己差的人有多少?

输入格式

第一行 1 个正整数 nnnn 的范围都在 [1,500000]。

接下来 nn 行,每行 2 个 [0,1000] 的整数。表示该学生的数学和信息学成绩。

输出格式

nn 行,每行 1 个整数,第 i 行的数表示绝对比第 i 个人差的人数。

样例

5
0 100
200 500
100 400
300 300
400 500
0
2
1
1
3

完善程序

#include<bits/stdc++.h>
using namespace std;
int a[1002][1002],sum[1002][1002],n;
struct Student
{
	int A,B;
}x[500001];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d",&x[i].A,&x[i].B);
		a[++x[i].A][填空(1)]++;
	}

	for(int i=1;i<=填空(2);i++)
		for(int j=1;j<=填空(2);j++) // 2 个 填空(2) 内容相同
			sum[i][j] = 填空(3) + sum[i-1][j] - 填空(4) + a[i][j];
	
	for(int i=1;i<=n;i++)
		printf("%d\n",sum[填空(5)][填空(6)]);

	return 0;
}

填空(1):{{ input(1) }}

填空(2):{{ input(2) }}

填空(3):{{ input(3) }}

填空(4):{{ input(4) }}

填空(5):{{ input(5) }}

填空(6):{{ input(6) }}