天天看點

PAT A1048 Find Coins (25分)(雙指針算法)

PAT A1048 Find Coins (25分)(雙指針算法)
#include <cstdio>
#include <algorithm>

using namespace std;

int main(){
	int n, m;
	scanf("%d %d", &n, &m);
	
	int arr[n];
	for(int i=0; i<n; i++){
		scanf("%d", &arr[i]);
	}
	
	sort(arr, arr+n);
	
	int i=0, j=n-1;
	while(i < j){
		if(arr[i]+arr[j] < m){
			i++;
		}else if(arr[i]+arr[j] > m){
			j--;
		}else{
			printf("%d %d", arr[i], arr[j]);
			return 0;
		}
	}
	
	printf("No Solution");
	
	return 0;
}
           

雙指針解這題是真的香啊

繼續閱讀