UVA10474 Where is the Marble?

来源:互联网 发布:微课录制软件 编辑:程序博客网 时间:2024/04/29 16:42

给你一串序列,问你某个数在这个序列中是第几大,这个数也可能不存在


注:某些OJ可能会提示PE


#include<stdio.h>#include<algorithm>#include<iostream>#include<string.h>using namespace std;int con[100000];/*int minsearch(int v,int y){int m, x = 0;while (x < y){m = x + (y - x) / 2;if (con[m] == v)return m;else if (con[m]>v)y = m;else x = m + 1;}return -1;}*/int sbsearch(int v){int num=0;if (con[v] == 0)return -1;for (int i = 1; i < v; i++){if (con[i] == 0)continue;else num += con[i];}return num;}int main(){int n, m, t = 1;;while (scanf_s("%d%d", &n, &m) && n&&m){memset(con, 0, sizeof(con));int a;for (int i = 0; i < n; i++){scanf_s("%d", &a);con[a]++;}//sort(con, con + n);int v;printf("CASE#  %d:\n", t++);//for (int i = 1; i <= n; i++)//cout << i<<"  "<<con[i] << endl;for (int i = 0; i < m; i++){int v;scanf_s("%d", &v);if (sbsearch(v)==-1)cout << v << " not found" << endl;elsecout << v << " found at " << sbsearch(v)+1 << endl;}}return 0;}


0 0
原创粉丝点击