题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4907
解析:
这个题目基本就是考察一下编码能力了,并没有太大的算法强度
只要不是暴力去解决一切都OK
我是逆序将时间填入进去,用数组来存储
代码:
/*
ID:muller8
Name: 4907 Task schedule
Reference:
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
#define MAXN 100005
#define INF 1e9
bool visit[2*MAXN];
int b[2*MAXN];
int main(){
int T;
scanf("%d", &T);
while(T--){
int m, n;
int i,j;
scanf("%d%d", &n, &m);
memset(visit,false, sizeof(visit));
for(i=0; i<n; ++i){
int tmp;
scanf("%d", &tmp);
visit[tmp] = true;
}
bool flag = false;
for(i=2*MAXN-1; i>=0; --i){
if(!visit[i]){
b[i] = i;
}
else{
flag = true;
b[i] = b[i+1];
}
}
for(i=0; i<m; ++i){
int tmp;
scanf("%d", &tmp);
printf("%d\n", b[tmp]);
}
}
return 0;
}