1248 寒冰王座 换个思维来解决这个背包题目

来源:互联网 发布:linux查询端口命令 编辑:程序博客网 时间:2024/05/21 07:06

顺便练习下STL和二分

HDU1248#include<cstdio>#include<cstdlib>#include<iostream>#include<algorithm>#include<memory.h>#include<cstring>#include<string.h> #include<set>#include<queue>using namespace std;set<int>q;bool M[10010];int a[200],L=0;int main(){int i,j,T,n;    q.insert(0);    while(!q.empty()){int s=*q.begin();if(s>10000) break;M[s]=true;a[++L]=s;q.erase(s);q.insert(s+150);q.insert(s+200);q.insert(s+350);    }    scanf("%d",&T);    while(T--){scanf("%d",&n);int pos=upper_bound(a+1,a+L+1,n)-a;printf("%d\n",n-a[pos-1]);    }    return 0;}

原创粉丝点击