蓝桥集训之三国游戏

蓝桥集训之三国游戏

  • 核心思想:贪心

    • 将每个事件的贡献值求出 降序排序
    • 从大到小求和为正是即可
cpp 复制代码
  #include <iostream>
  #include <cstring>
  #include <algorithm>
  
  
  using namespace std;
  typedef long long LL;
  const int N = 100010;
  int a[N],b[N],c[N];
  int n;
  
  int work(int x[],int y[],int z[])
  {
      int w[n];
      for(int i=0;i<n;i++)
      {
          w[i] = x[i]-y[i]-z[i];    
      }
      //降序
      sort(w,w+n,greater<int>());
      int res=-1;
      LL sum=0;
      for(int i=0;i<n;i++)
      {
          sum += w[i];
          if(sum>0) res = i+1;
          else break;
      }
      return res;
  }
  int main()
  {
      cin>>n;
      for(int i=0;i<n;i++) cin>>a[i];
      for(int i=0;i<n;i++) cin>>b[i];
      for(int i=0;i<n;i++) cin>>c[i];
      
      int res=max({work(a,b,c),work(b,a,c),work(c,a,b)});
      cout<<res<<endl;
      return 0;
  }
相关推荐
int型码农1 小时前
数据结构第八章(二)-交换排序
c语言·数据结构·算法·排序算法
YKPG1 小时前
C++学习-入门到精通【14】标准库算法
c++·学习·算法
zm1 小时前
极限复习c++
开发语言·c++
CoovallyAIHub2 小时前
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
深度学习·算法·计算机视觉
码农之王2 小时前
记录一次,利用AI DeepSeek,解决工作中算法和无限级树模型问题
后端·算法
程序猿本员2 小时前
线程池精华
c++·后端
靡樊2 小时前
Socket编程UDP\TCP
网络·c++·学习·tcp/ip·udp
byte轻骑兵3 小时前
【C++高级主题】命令空间(五):类、命名空间和作用域
开发语言·c++
忘梓.3 小时前
从二叉树到 STL:揭开 set 容器的本质与用法
开发语言·c++
Alan3164 小时前
qt network 整体框架
c++