https://vjudge.net/problem/UVA-10474
https://blog.csdn.net/xiyaozhe/article/details/81081344
简单用法
sort(start,end) 默认是升序
实现降序:
#include <functional>
int a[10]={5,6,7,8,9,0,1,2,3,4};
vector <int> v(a, a+10);
sort(v.begin(), v.end(),less<int>());//升
sort(v.begin(), v.end(),greater<int>());//降
find(起点, 终点后一位, 要找的数)
distance (地址, 地址) 是返回容器中两个地址之间的距离
vector基本操作
ve.push_back(a);
作用是在数组后面增加一个元素。括号里填的是ve里装的东西
ve.clear();清空ve里的所有元素。
ve.empty();判断ve是否为空,如果是返回true,否则false
ve.size();返回ve的长度。注意这里返回的类型是unsigned int,如果ve是空的ve.size() - 1就会爆掉。
ve.pop_back() 删除数组里的最后一个元素。
1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<iostream> 5 #include<stdlib.h> 6 #include<algorithm> 7 #include<queue> 8 #include<vector> 9 #define mem(a) memset(a,0,sizeof(a)) 10 using namespace std; 11 const long long N=1e9+5; 12 #define LL long long 13 14 15 int main() 16 { 17 int n,m,number,ca=0; 18 vector<int> ma; 19 while(cin>>n>>m&&n!=0&&m!=0) 20 { 21 for(int i=0;i<n;i++) 22 { 23 cin>>number; 24 ma.push_back(number); 25 } 26 sort(ma.begin(),ma.end()); 27 cout<<"CASE# "<<++ca<<":"<<endl; 28 for(int i=0;i<m;i++) 29 { 30 cin>>number; 31 vector<int>::iterator it =find(ma.begin(),ma.end(),number); 32 if(it==ma.end()) 33 cout << number << " not found"<<endl; 34 else 35 cout<<number<<" found at "<<distance(ma.begin(),it)+1<<endl; 36 } 37 ma.clear(); 38 } 39 return 0; 40 }