Attack Survival
Attack Survival
Problem Statement
Takahashi has decided to hold fastest-finger-fast quiz games. Kizahashi, who is in charge of making the scoreboard, is struggling to write the program that manages the players' scores in a game, which proceeds as follows.
A game is played by N players, numbered 1 to N. At the beginning of a game, each player has K points.
When a player correctly answers a question, each of the other N−1 players receives minus one (−1) point. There is no other factor that affects the players' scores.
At the end of a game, the players with 0 points or lower are eliminated, and the remaining players survive.
In the last game, the players gave a total of Q correct answers, the i-th of which was given by Player Ai. For Kizahashi, write a program that determines whether each of the N players survived this game.
Constraints
- All values in input are integers.
- 2≤N≤105
- 1≤K≤109
- 1≤Q≤105
- 1≤Ai≤N (1≤i≤Q)
Input
Input is given from Standard Input in the following format:
N K Q A1 A2 . . . AQ
Output
Print N lines. The i-th line should contain Yes
if Player i survived the game, and No
otherwise.
Sample Input 1
6 3 4 3 1 3 2
Sample Output 1
No No Yes No No No
In the beginning, the players' scores are (3,3,3,3,3,3).
- Player 3 correctly answers a question. The players' scores are now (2,2,3,2,2,2).
- Player 1 correctly answers a question. The players' scores are now (2,1,2,1,1,1).
- Player 3 correctly answers a question. The players' scores are now (1,0,2,0,0,0).
- Player 2 correctly answers a question. The players' scores are now (0,0,1,−1,−1,−1).
Players 1,2,4,5 and 6, who have 0 points or lower, are eliminated, and Player 3 survives this game.
Sample Input 2
6 5 4 3 1 3 2
Sample Output 2
Yes Yes Yes Yes Yes Yes
Sample Input 3
10 13 15 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9
Sample Output 3
No No No No Yes No No No Yes No
题意:序号为1 - n 的n个人,每个人初始分数为k分,给出回答对的题目总数并且给出答对这些问题的人分别是哪位。规则只有一条:如果一个人答对问题,其他人减一分。最后若谁的分数不低于0,就可以幸存下来,就输出Yes,否则输出No。
思路:计答对Q个问题的人的序号分别出现几次就可以,即把每个人答对问题个数存起来,然后用Q减去自己答对的,就是你没有答对的题个数,即要一起减去的分数,再用初始的K减去这个数即为最后的得分。
#include<bits/stdc++.h>
using namespace std;
const int maxn = 3e5+10;
int main()
{
long long n,k,q;
cin >> n >> k >> q;
long long a[maxn];
for(int i = 1;i <= q;i ++){
int x;
cin >> x;
a[x]++;
}
/* for(int i = 1;i <= q;i ++){
cout << a[i];
}cout << endl;*/
for(int i = 1;i <= n;i ++){
if( k-(q-a[i]) <= 0) cout << "No" << endl;
else cout << "Yes" << endl;
}
return 0;
}
上一篇: pyspider源代码-run.py shutil模块
下一篇: XML Attack
推荐阅读
-
浅析node应用的timing-attack安全漏洞
-
Return to Libc Attack
-
LeetCode-1222. Queens That Can Attack the King
-
[CF1292C] Xenon's Attack on the Gangs
-
LeetCode 1222. Queens That Can Attack the King
-
【java-array】1222. Queens That Can Attack the King
-
lightoj1265 Island of Survival(思维或dp)
-
渗透测试工具:The TrustedSec Attack Platform(TAP)
-
Java attack - Java 特性
-
DWR出现的A request has been denied as a potential CSRF attack解决办法