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;
}

双指针解这题是真的香啊

猜你喜欢

转载自blog.csdn.net/weixin_45964844/article/details/112093466