CF1445A. Array Rearrangment sort

传送门:https://codeforces.com/contest/1445/problem/A

题意:重排两个数组,让这两个数组所有相应位置之和不超过x

题解:一个从小到大sort,一个从大到小sort

代码:

#include<bits/stdc++.h>
using namespace std;
int a[105],b[105];
int main(){
    int t;
    scanf("%d",&t);
    while(t--){
        int n,x;
        scanf("%d%d",&n,&x);
        for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
        }
        for(int i=1;i<=n;i++){
            scanf("%d",&b[i]);
        }
        sort(a+1,a+1+n);
        sort(b+1,b+1+n,greater<int>());
        for(int i=1;i<=n;i++){
            if(a[i]+b[i]>x){
                printf("NO\n");
                goto A;
            }
        }
        printf("YES\n");
        A:;
    }
    
    return 0;
}

 

上一篇:查询练习


下一篇:[Jzoj] 3503. 粉刷