zoukankan      html  css  js  c++  java
  • 题解——Codeforces Round #508 (Div. 2) T3 (贪心)

    贪心的选取最优解

    然后相减好

    记得要开long long

    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    #include <set>
    #include <queue>
    #define int long long
    using namespace std;
    int ansa=0,ansb=0,posa=1,posb=1,n,a[1000100],b[1000100];
    bool cmp(int a,int b){
      if(a>b)
        return true;
      else
        return false;
    }
    signed main(){
      scanf("%I64d",&n);
      for(int i=1;i<=n;i++)
        scanf("%I64d",&a[i]);
      for(int i=1;i<=n;i++)
        scanf("%I64d",&b[i]);
      sort(a+1,a+n+1,cmp);
      sort(b+1,b+n+1,cmp);
      int whi=0;// 0 a 1 b
      while(posa<=n||posb<=n){
        if(whi==0){
          if(a[posa]>b[posb]&&posa<=n){
            ansa+=a[posa];
            posa++;
            whi=1-whi;
          }
          else if(a[posa]<=b[posb]&&posb<=n){
            posb++;
            whi=1-whi;
          }
          else if(posb<=n){
            posb++;
            whi=1-whi;
          }
          else if(posa<=n){
            ansa+=a[posa];
            posa++;
            whi=1-whi;
          }
        }
        else{
          if(b[posb]>a[posa]&&posb<=n){
            ansb+=b[posb];
            posb++;
            whi=1-whi;
          }
          else if(b[posb]<=a[posa]&&posa<=n){
            posa++;
            whi=1-whi;
          }
          else if(posa<=n){
            posa++;
            whi=1-whi;
          }
          else if(posb<=n){
            ansb+=b[posb];
            posb++;
            whi=1-whi;
          }
        }
      }
      printf("%I64d",ansa-ansb);
      return 0;
    }
  • 相关阅读:
    前端
    小程序开发
    mpvue开发小程序
    (33)Vue购物车
    Vue的使用你学会了吗?
    (32)Vue模板语法
    (31)Vue安装
    (3)Angular的开发
    (2)Angular的开发
    (1)Angular的开发
  • 原文地址:https://www.cnblogs.com/dreagonm/p/9602510.html
Copyright © 2011-2022 走看看