倒数第一篇和倒数第二篇题解相似度极高,疑似抄袭
SunsetSamsara code
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100001];
int A,B;//两个人的总数
priority_queue<int> pq;
int main(){
scanf("%d",&n);
for(int i=1,j,x;i<=n;++i){
scanf("%d",a+i);
for(j=1;j<=(a[i]>>1);++j){
scanf("%d",&x);
A+=x;
}//B的
if(a[i]&1){
scanf("%d",&x);//中间牌
pq.push(x);
++j;
}
for(;j<=a[i];++j){
scanf("%d",&x);
B+=x;
}//B的
}
int p=1;//当前谁取
while(!pq.empty()){
if(p)A+=pq.top();
else B+=pq.top();
pq.pop();
p^=1;
//轮流取最大值
}
printf("%d %d\n",A,B);
return 0;
}
orz_z code
#include <bits/stdc++.h>
using namespace std;
int n, m;
int a[100007];
int A, B;
priority_queue<int> pq;
signed main()
{
scanf("%d", &n);
for (int i = 1, j, x; i <= n; ++i)
{
scanf("%d", a + i);
for (j = 1; j <= (a[i] >> 1); ++j)
{
scanf("%d", &x);
A += x;
}
if (a[i] & 1)
{
scanf("%d", &x);
pq.push(x);
++j;
}
for (; j <= a[i]; ++j)
{
scanf("%d", &x);
B += x;
}
}
int p = 1;
while (!pq.empty())
{
if (p)
A += pq.top();
else
B += pq.top();
pq.pop();
p ^= 1;
}
printf("%d %d\n", A, B);
return 0;
}
我没有证据,但是这是真的挺像