UVA - 10474 Where is the Marble?(STL,水)

来源:互联网 发布:python-kafka-logging 编辑:程序博客网 时间:2024/05/17 08:13

UVa 10474 Where is the Marble?(大理石在哪儿)
UVa题目链接
题目名称:大理石在哪
题目描述:
现有N个大理石,每个大理石上写了一个非负整数,首先把各数从小到大排序,之后回答Q个问题,每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪块大理石上写着x,排序后的大理石从左到右编号为1~N。
样例输入:
4 1
2 3 5 1
5
5 2
1 3 3 3 1
2 3
样例输出:
CASE# 1:
5 found at 4
CASE# 2:
2 not found
3 found at 3

#include<iostream>#include<algorithm>#include<cstdio>using namespace std;const int MAXN = 10005;int a[MAXN];int main(){int n, q;int cas = 1;while (scanf("%d%d", &n, &q) != EOF&&n){for (int i = 0; i < n; i++)cin>>a[i];sort(a, a + n);cout << "CASE# " << cas << ':' << endl;cas++;int x;while (q--){cin >> x;int p = lower_bound(a, a + n, x) - a;  //lower_bound函数返回大于或者等于x的第一个位置if (a[p] == x) cout <<x <<" found at "<<p + 1 << endl;else cout << x << " not found" << endl;}}}


0 0
原创粉丝点击