BestCoder-Round #3 1001 Task schedule

来源:互联网 发布:政务大数据平台建设 编辑:程序博客网 时间:2024/05/18 01:58

题目大意:中文的,就不解释了!

解题思路:直接预处理,两次哈希,一次标记是否存在,一次存储最优解。据说二分可以做的。

题目来源:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=527

http://acm.hdu.edu.cn/showproblem.php?pid=4907

code:

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 2*100005;int tmp[MAXN];int ti,T,n,m,q;int vis[MAXN];int main(){    scanf("%d",&T);    while(T--){        scanf("%d%d",&n,&m);        memset(vis,0,sizeof(vis));        for(int i=1;i<=n;i++){            scanf("%d",&ti);            vis[ti]=1;        }        for(int i=MAXN-1;i>=0;i--){            if(!vis[i]) tmp[i]=i;            else tmp[i]=tmp[i+1];        }        while(m--){            scanf("%d",&q);            printf("%d\n",tmp[q]);        }    }    return 0;}


0 0
原创粉丝点击