1 条题解

  • 0
    @ 2023-6-11 12:17:59

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    long long a[300000];//存放两张牌和差值
    
    int main(){
    	long long n,i,j,x,y,k,s_x,s_y,s;
    	cin>>n;
    	//统计上面的牌比下面的大的有多少
    	//上面的比下面的小不会有人拿
    	k = 0; 
    	s = 0;
    	for(i = 0;i < n;i++){
    		cin>>x>>y;
    		if(x >= y){
    			a[k] = x;
    			a[k + 1] = y;
    			k = k + 2;
    			s = s + x + y;	
    		}
    	}
    	
    	//数组排序
    	sort(a,a+k);
    	
    	
    	//初始化得分
    	s_x = 0;
    	s_y = 0;
    	for(i = k - 1;i >= 0;i = i - 2){
    		s_x = s_x + a[i];
    	} 
    	s_y = s - s_x;
    	cout<<s_x - s_y<<endl;
    }
    
    
    • 1

    信息

    ID
    2446
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者