标签:13 return 数字 题目 int 深基 cin 整数 P2249
题目描述
出题是一件痛苦的事情!
相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!
好吧,题目是这样的:给出一串数以及一个数字 CC,要求计算出所有 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。
输入格式
第一行 2 个整数 n 和 m,表示数字个数和询问次数。
第二行 n 个整数,表示这些待查询的数字。
第三行 m 个整数,表示询问这些数字的编号,从 1 开始编号。
输出格式
m 个整数表示答案。
AC 代码
#include<iostream>
using namespace std ;
const int N = 1e6+10 ;
int n ,t ;
int a[N] ;
int left_find(int arr[],int x,int y){
int l = 0 , r = y;//0 11
if(r==0) return -1;
while (l<r)
{
int mid = l + (r-l)/2 ;//5
if(arr[mid]==x) r = mid ;
else if(arr[mid]<x) l=mid+1 ;
else if(arr[mid]>x) r=mid;
}
if(arr[l] == x) return l+1 ;
else return -1 ;
}
int main(){
cin >> n >> t;
for(int i = 0 ; i < n ;i ++) cin >> a[i] ;
while (t--)
{
int x;
cin >> x ;
int op = left_find(a,x,n);
cout << op << " ";
}
return 0 ;
}
标签:13,return,数字,题目,int,深基,cin,整数,P2249 来源: https://www.cnblogs.com/fjqqq/p/15350121.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。