https://vjudge.net/problem/UVA-11057
注意空行
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cctype>
#include<vector>
#include<algorithm>
#include<map>
#include<set>
using namespace std;
int main(){
int n,m;
while(scanf("%d",&n)!=EOF){
vector<int> v(n);
for(int i=0;i<n;i++)
scanf("%d",&v[i]);
sort(v.begin(),v.end());
scanf("%d",&m);
int i=0,j=n-1;
int ans1,ans2;
while(i<=j){
if(v[i]+v[j]<m){
i++;
}else if(v[i]+v[j]>m){
j--;
}else{
ans1=i++;
ans2=j--;
}
}
printf("Peter should buy books whose prices are %d and %d.\n\n",v[ans1],v[ans2]);
}
}