题目描述
高贵的蕾米莉亚大小姐每天需要饮用定量 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 条评论