[2016-04-04][codeforces][639][A][Bear and Displayed Friends]
Posted 红洋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[2016-04-04][codeforces][639][A][Bear and Displayed Friends]相关的知识,希望对你有一定的参考价值。
时间:2016-04-04 12:38:53 星期一
题目编号:[2016-04-04][codeforces][639][A][Bear and Displayed Friends]
题目大意:有n朋友,第i个朋友有亲密度ti,有q次命令,1 id表示编号为id的朋友上线,2 id表示是否在线,且亲密度在前k个,输出结果
分析:可以发现k最大为0,只需要维护前k个最大值就ok,每加入一个数字就维护一次最大值
#include <cstring>
#include <cstdio>
using namespace std;
int a[150000 + 10];
int main(){
int n,k,q,b,c;
scanf("%d%d%d",&n,&k,&q);
for(int i = 1;i <= n ; ++i){
scanf("%d",&c);
a[i] = c;
}
int inq[10];
memset(inq,0,sizeof(inq));
for(int i = 0;i < q;++i){
scanf("%d%d",&b,&c);
if(b - 1){
int flg = 1;
for(int j = 0;j < k; ++j){
if(inq[j] == c){
flg = 0;break;
}
if(inq[j] == 0) break;
}
puts(flg?"NO":"YES");
}else {
int minpos = -1,curmin = a[c];
for(int i = 0; i < k ; ++i){
if(a[inq[i]] < curmin){
curmin = a[inq[i]];
minpos = i;
}
}
if(minpos != -1) inq[minpos] = c;
}
}
return 0;
}
以上是关于[2016-04-04][codeforces][639][A][Bear and Displayed Friends]的主要内容,如果未能解决你的问题,请参考以下文章