要准备N组食物, 他有2N的食材, 需要两两组成一个食物, 食物的价值是两食材中较小的那个。 问最大总价值是多少

——————————

考虑到\(ans = (sum - delta)/2\),只需要最小化\(delta\),于是排序即可

算是个比较经典的思路吧(我都没反应过来)

#include <bits/stdc++.h>
using namespace std;

int n,a[205];

int main() {
    cin>>n;
    for(int i=1;i<=2*n;i++) cin>>a[i];
    sort(a+1,a+2*n+1);
    int ans =0 ;
    for(int i=1;i<=n;i++) ans+=min(a[i*2-1],a[i*2]);
    cout<<ans<<endl;
}

相关文章:

  • 2021-08-19
  • 2021-06-29
猜你喜欢
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
  • 2021-09-09
  • 2021-10-08
  • 2021-05-26
  • 2022-12-23
相关资源
相似解决方案