3 条题解

  • 0
    @ 2023-10-28 18:38:21
    #include <bits/stdc++.h>
    using namespace std;
    int arr[200000];
    int brr[200000];
    int main() {
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++){//10w
    		cin>>arr[i];
    	}
    	memcpy(brr,arr,sizeof(arr));
    	sort(arr+1,arr+1+n);;//升序排序
    	int pm = 1;
    	//int fs = arr[n];//100
    	for(int i= 1;i<=n;i++){// brr[i] 要查的分数
    		int* t = upper_bound(arr+1,arr+1+n,brr[i]);
    		if(t == arr+1+n){
    			cout<<1<<endl;
    		}else {
    			int pm = arr+n - t  + 1;
    			cout<<pm+1<<endl;
    		}
    	}
    
    	return 0;
    }
    

    信息

    ID
    1455
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    5
    已通过
    2
    上传者