题目描述
高贵的蕾米莉亚大小姐每天需要饮用定量 B 型血的红茶以保持威严,并且要分两杯在不同时段饮用。
女仆长十六夜咲夜每天可以制作很多杯不同剂量 B 型血的红茶供蕾米莉亚大小姐饮用。
某日,你和天才妖精琪露诺偷偷潜入红魔馆被咲夜抓住,要求在今日份的红茶中挑出所有满足大小姐要求的茶杯,否则……
某日,你和天才妖精琪露诺偷偷潜入红魔馆被咲夜抓住,要求在今日份的红茶中挑出所有满足大小姐要求的茶杯,否则……
输入描述:
每个样例有三行输入,第一行输入表示茶杯个数,第二行输入表示每份茶杯里的 B 型血剂量,第三行表示大小姐今天的定量
输出描述:
对每一个样例,输出所有可能的搭配方案,如果有多种方案,请按每个方案的第一杯 B 型血剂量的大小升序排列。 如果无法找到任何一种满足大小姐的方案,输出"NO"(不包括引号)并换行。
示例1
输入
7 2 4 6 1 3 5 7 7
输出
1 6 2 5 3 4
备注:
茶杯个数不超过100000,保证茶杯里的B型血剂量两两不同。
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
int cup,today;
cin >> cup;
vector<int> cups(cup);
for( int i = 0 ; i < cup ; i ++ ) cin >> cups[i];
cin >> today;
sort(cups.begin(),cups.end());
int start=0,end=cup-1;
int flag=0;
while( start < end ){
if( cups[start] + cups[end] > today ) end --;//过大
else if( cups[start] + cups[end] < today ) start++;
else{
printf("%d %d \n",cups[start],cups[end]);
flag = 1;
start++;
}
}
printf(flag?"":"NO\n");
}
吃到了语法糖很开心】
0 条评论