Where is the Marble? UVA

来源:互联网 发布:仓鼠用品淘宝 编辑:程序博客网 时间:2024/06/02 03:32

lower_bound(a.begin(),a.end(),x)-a.begin()

函数返回的是迭代器,减去首指针即为下标

取的是列表中大于等于x的第一个


//@auther zhou//@Number 201408070203//@start time://@finish time:/*@此处注意:*//* 测试数据*/#include<iostream>#include<cstring>#include<vector>#include<cmath>#include<algorithm>using namespace std;int main(){int num,ques;cin>>num>>ques;int count=1;while(!cin.eof()){if((!num)&(!ques)){return 0;}cout<<"CASE# "<<count++<<":"<<endl;vector<int> marble;int temp;for(int i=0;i<num;i++){cin>>temp;marble.push_back(temp);}sort(marble.begin(),marble.end());//for(int i=0;i<num;i++)//cout<<marble[i]<<" ";for(int j=0;j<ques;j++){cin>>temp;int p=lower_bound(marble.begin(),marble.end(),temp)-marble.begin();if(marble[p]==temp){cout<<temp<<" found at "<<p+1<<endl;}else{cout<<temp<<" not found"<<endl;}}cin>>num>>ques;}return 0;}


原创粉丝点击