九度OJ - 1352 - 和为S的两个数字
来源:互联网 发布:知乎上海花卉种植基地 编辑:程序博客网 时间:2024/06/05 11:38
题目描述
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输入
每个测试案例包括两行:
第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1 <= n <= 10^6,k为int
第二行包含n个整数,每个数组均为int类型。
输出
对应每个测试案例,输出两个数,小的先输出。如果找不到,则输出“-1 -1”
样例输入
6 15
1 2 4 7 11 15
样例输出
4 11
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;int num[1000005];int main(){ int n, k; while(scanf("%d %d", &n, &k)!=EOF){ for(int i = 0; i < n; i++) scanf("%d", &num[i]); if(k < 0){ cout << "-1 -1" << endl; continue; } int start = 0, end = n-1; while(end > start && num[start]+num[end] != k){ if(num[start]+num[end] > k) end--; else start++; } if(end <= start) cout << "-1 -1" << endl; else cout << num[start] << " " << num[end] << endl; } return 0;}
0 0
- 九度OJ 1352 和为S的两个数字
- 九度OJ - 1352 - 和为S的两个数字
- 【剑指Offer面试编程题】题目1352:和为S的两个数字--九度OJ
- 九度OJ-题目1352:和为S的两个数字
- 九度OJ 1352:和为S的两个数字 (查找)
- 题目1352:和为S的两个数字-九度
- 九度 题目1352:和为S的两个数字
- 九度 题目1352:和为S的两个数字
- 九度 题目1352:和为S的两个数字
- 九度 题目1352:和为S的两个数字
- 九度笔记之 1352:和为S的两个数字
- 【LeetCode】Two Sum && 【九度】题目1352:和为S的两个数字
- 九度_题目1352:和为S的两个数字
- 和为S的两个数字
- 和为S的两个数字
- 找出和为S的两个数字
- 和为S的两个数字
- 【5】和为s的两个数字
- JAVA--IO
- python中的切片--Splice
- 7. Reverse Integer
- AngularJS 神奇的表单
- 给TextVeiw设置setClickable(false)失效
- 九度OJ - 1352 - 和为S的两个数字
- 设计移动应用和开发App与数据运营
- 移动开发中“单位”的那些事儿
- GBK字库制作、字模数据读取、使用
- Qt-4.7.1编译全过程
- iOS 【UIKit-UIScrollView 无法滚动的原因/两种情况下的弹簧效果】
- 数组 a 与 &a 的区别联系
- PowerDesigner V16.5 安装文件 及 破解文件
- Spring--spring3.0应用springmvc构造RESTful URL详细讲解