Vector、Sort课后题解
HZNU OJ 2004
Description
今天是六一儿童节,ACM队的某些人比如说yl臭不要脸的想要过节。为此,wxa买了很多大白兔糖分给大家,但是想要得到这些糖必须回答出wxa的题目。他在每颗糖上标有数字,第一个找到数字K的人,将得到糖。zz想得到糖,但是眼力不好,你能帮帮他快速的找到标号为K的糖吗?(题目保证K一定存在)
Input
第一行输入一个T,表示有T组测试样例。
对于每组测试样例第一行输入n,k。第二行输入n个数据(n<10000),代表n颗糖的位置(1 ~ n)。
Output
标号为k的糖在哪个位置?
Samples
input
1
10 8
2 3 4 5 6 7 9 10 2 8
output
10
题意:在n个数中找k
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int>vec;
int main(){
int T;
int n,k;
cin>>T;
while(T--){
vec.clear();//清空vec
cin>>n>>k;
for(int i=0;i<n;++i){
int x;
cin>>x;
vec.push_back(x);
}
int pos=find(vec.begin(),vec.end(),k)-vec.begin();
//find函数三个参数 首地址、尾地址、常数
//函数返回的是一个地址
cout<<pos+1<<endl;//题目下标从1开始
}
}
HZNU OJ 2007
Description
大家都知道zz特别喜欢金鱼,一天zz去买金鱼,但是他只带了n元,他想买k种金鱼。(每种一条)如果钱不够他会向wxa借。已知每条金鱼的价格,你能告诉他最少他需要向wxa借多少吗?
Input
第一行输入一个T,代表有T组测试数据。
每组测试数据第一行输入n,k,m(0 < m < 1000)。接下来有一行,有m组数据,代表总共有m种金鱼。
Output
zz向wxa借的钱。
Samples
input
1
10 5 10
1 2 3 4 5 6 7 8 9 10
output
5
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
int a[maxn];
int main(){
int T;
cin>>T;
while(T--){
int n,k,m;
cin>>n>>k>>m;
for(int i=1;i<=m;++i)<