UVA 11991 Easy Problem from Rujia Liu?
来源:互联网 发布:延保服务 知乎 编辑:程序博客网 时间:2024/05/29 17:40
11991
Easy Problem from Rujia Liu?
Though Rujia Liu usually sets hard problems for contests (for example, regionalcontests like Xi’an 2006, Beijing 2007 and Wuhan 2009, or UVa OJ contests like
Rujia Liu’s Presents 1 and 2), he occasionally sets easy problem (for example, ‘the
Coco-Cola Store’ in UVa OJ), to encourage more people to solve his problems :D
Given an array, your task is to find the k-th occurrence (from left to right) of an integer v. To make
the problem more difficult (and interesting!), you’ll have to answer m such queries.
Input
There are several test cases. The first line of each test case contains two integers n, m (1 ≤ n, m ≤
100, 000), the number of elements in the array, and the number of queries. The next line contains n
positive integers not larger than 1,000,000. Each of the following m lines contains two integer k and v
(1 ≤ k ≤ n, 1 ≤ v ≤ 1, 000, 000). The input is terminated by end-of-file (EOF).
Output
For each query, print the 1-based location of the occurrence. If there is no such element, output ‘0’
instead.
Sample Input
8 4
1 3 2 2 4 3 2 1
1 3
2 4
3 2
4 2
Sample Output
2
0
7
0
/*Author:2486Memory: 0 KB Time: 123 MSLanguage: C++ 4.8.2Result: Accepted*///通过<sstream>中的stringstream进行字符串处理#include <cstdio>#include <cstring>#include <algorithm>#include <iterator>#include <vector>using namespace std;const int maxn=100000+5;struct ins { int id,val; ins(int val,int id):id(id),val(val) {} bool operator < (const ins & a)const { if(val!=a.val) return val<a.val; return id<a.id; }};vector<ins>buf;int k,v,n,m;int main() { #ifndef ONLINE_JUDGE freopen("D:imput.txt","r",stdin); #endif // ONLINE_JUDGE while(~scanf("%d%d",&n,&m)) { int val; buf.clear(); for(int i=0; i<n; i++) { scanf("%d",&val); buf.push_back(ins(val,i+1)); } sort(buf.begin(),buf.end()); for(int i=0; i<m; i++) { scanf("%d%d",&k,&v); ins s(v,0); //printf("[][][][][][]\n"); vector<ins>::iterator buf1=lower_bound(buf.begin(),buf.end(),s); if(buf1!=buf.end()&&buf1->val==v&&k!=0) { buf1+=(k-1); if(buf1->val==v) printf("%d\n",buf1->id); else printf("0\n"); } else printf("0\n"); } } return 0;}
0 0
- UVA - 11991 Easy Problem from Rujia Liu?
- uva - 11991 - Easy Problem from Rujia Liu?
- uva 11991 Easy Problem from Rujia Liu?
- uva 11991 - Easy Problem from Rujia Liu?
- Uva-11991-Easy Problem from Rujia Liu?
- Uva 11991 - Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- uva 11991 Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- uva 11991 - Easy Problem from Rujia Liu?
- UVa:11991 Easy Problem from Rujia Liu?
- UVA - 11991 Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- UVa 11991 - Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- UVa 11991 Easy Problem from Rujia Liu?
- Linux执行可执行文件提示No such file or directory的解决方法
- 【好程序员笔记分享】—— C语言中的枚举
- Tomcat启动项目出现com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector错误
- 字段结构与联合的应用
- android 百度云推送
- UVA 11991 Easy Problem from Rujia Liu?
- 关于CI框架引入CSS与JS文件
- hadoop-common源码分析之-Configuration
- leetcode 222 Count Complete Tree Nodes (计算完全二叉树节点数)
- Vim 简明教程
- Centos7下systemctl status postgresql 命令相关研究
- C++数组的简单示例
- 1、flume安装
- linux 静态库函数查看