标签:选择 names print class type main div ++ scan
codeforces 1038 c
题意:
两个人,各有一堆数,每个人都有两种选择,1:把自己的最大的数加到和里。2:丢掉对方的一个数(最大)。
求第一个人的和 - 第二个人和。
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> typedef long long ll; using namespace std; int main() { ll n; ll a[100010],b[100010],i,j,ans1=0,ans2=0; scanf("%lld",&n); for(i=1;i<=n;i++) scanf("%lld",&a[i]); for(i=1;i<=n;i++) scanf("%lld",&b[i]); sort(a+1,a+n+1); sort(b+1,b+n+1); int flag=1; i=n;j=n; while(i!=0||j!=0) { if(flag) { flag=0; if(a[i]>b[j]) { ans1+=a[i]; i--; } else j--; } else { flag=1; if(b[j]>a[i]) { ans2+=b[j]; j--; } else i--; } } printf("%lld\n",ans1-ans2); }
标签:选择 names print class type main div ++ scan
原文地址:https://www.cnblogs.com/bhd123/p/9739351.html