CF978F.Mentors

普及/提高-

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

In BerSoft nn programmers work, the programmer ii is characterized by a skill rir_i.

A programmer aa can be a mentor of a programmer bb if and only if the skill of the programmer aa is strictly greater than the skill of the programmer bb (ra>rb)(r_a \gt r_b) and programmers aa and bb are not in a quarrel.

You are given the skills of each programmers and a list of kk pairs of the programmers, which are in a quarrel (pairs are unordered). For each programmer ii, find the number of programmers, for which the programmer ii can be a mentor.

在 BerSoft 公司有 nn 名程序员,程序员 ii 的技能值为 rir_i。

当且仅当程序员 aa 的技能值严格大于程序员 bb 的技能值(即 ra>rbr_a > r_b),且程序员 aa 与 bb 之间没有争吵关系时,程序员 aa 才能成为程序员 bb 的导师。

现给出每名程序员的技能值,以及 kk 对处于争吵关系的程序员(每对无序)。对每名程序员 ii,请计算有多少名程序员可以以程序员 ii 为导师。

输入格式

The first line contains two integers nn and kk (2≤n≤2⋅105(2 \le n \le 2 \cdot 10^5, 0≤k≤min⁡(2⋅105,n⋅(n−1)2))0 \le k \le \min(2 \cdot 10^5, \frac{n \cdot (n - 1)}{2})) — total number of programmers and number of pairs of programmers which are in a quarrel.

The second line contains a sequence of integers r1,r2,…,rnr_1, r_2, \dots, r_n (1≤ri≤109)(1 \le r_i \le 10^{9}), where rir_i equals to the skill of the ii-th programmer.

Each of the following kk lines contains two distinct integers xx, yy (1≤x,y≤n(1 \le x, y \le n, x≠y)x \ne y) — pair of programmers in a quarrel. The pairs are unordered, it means that if xx is in a quarrel with yy then yy is in a quarrel with xx. Guaranteed, that for each pair (x,y)(x, y) there are no other pairs (x,y)(x, y) and (y,x)(y, x) in the input.

第一行包含两个整数 nn 和 kk(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5,0≤k≤min⁡(2⋅105,n⋅(n−1)2)0 \le k \le \min(2 \cdot 10^5, \frac{n \cdot (n - 1)}{2}))—— 分别表示程序员总数以及互相争吵的程序员对数。

第二行包含一个整数序列 r1,r2,…,rnr_1, r_2, \dots, r_n(1≤ri≤1091 \le r_i \le 10^{9}),其中 rir_i 表示第 ii 位程序员的技能值。

接下来的 kk 行每行包含两个不同的整数 xx、yy(1≤x,y≤n1 \le x, y \le n,x≠yx \ne y)—— 表示一对互相争吵的程序员。这些对是无序的,即若 xx 与 yy 争吵,则 yy 也与 xx 争吵。保证输入中对于任意一对 (x,y)(x, y),不会同时出现 (x,y)(x, y) 和 (y,x)(y, x)。

输出格式

Print nn integers, the ii-th number should be equal to the number of programmers, for which the ii-th programmer can be a mentor. Programmers are numbered in the same order that their skills are given in the input.

输出 nn 个整数,其中第 ii 个数应等于能够以第 ii 位程序员为导师的程序员人数。程序员的编号顺序与输入中给出的技能顺序一致。

输入输出样例

  • 输入#1

    4 2
    10 4 10 15
    1 2
    4 3

    输出#1

    0 0 1 2
  • 输入#2

    10 4
    5 4 1 5 4 3 7 1 2 5
    4 6
    2 1
    10 8
    3 5

    输出#2

    5 4 0 5 3 3 9 0 2 5

说明/提示

In the first example, the first programmer can not be mentor of any other (because only the second programmer has a skill, lower than first programmer skill, but they are in a quarrel). The second programmer can not be mentor of any other programmer, because his skill is minimal among others. The third programmer can be a mentor of the second programmer. The fourth programmer can be a mentor of the first and of the second programmers. He can not be a mentor of the third programmer, because they are in a quarrel.

在第一个例子中,第一位程序员无法成为任何其他程序员的导师(因为只有第二位程序员的技能低于第一位程序员,但他们之间存在争执)。第二位程序员无法成为任何其他程序员的导师,因为他的技能在所有人中最低。第三位程序员可以成为第二位程序员的导师。第四位程序员可以成为第一位和第二位程序员的导师;但他不能成为第三位程序员的导师,因为他们之间存在争执。

输入解题思路,AI测评打分。不知道怎么写?

首页