比赛 进阶指南第0章测试 评测结果 RRRRRRRRRR
题目名称 有n种物品 最终得分 0
用户昵称 王潇翊 运行时间 0.606 s
代码语言 C++ 内存使用 4.09 MiB
提交时间 2026-03-14 09:02:44
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N = 100007;
int n,p = 1,q = 1;
long long a1,a2;
bool c[N];
struct S
{
    int x,y;
}a[N],b[N];
bool cmp(S k,S m)
{
    return k.x > m.x;
}
int main()
{
    freopen("nit.in","r",stdin);
    freopen("nit.in","w",stdout);
    cin >> n;
    for (int i = 1;i <= n;i++)
    {
        cin >> a[i].x >> b[i].x;
        a[i].y = i;
        b[i].y = i;
    }
    sort(a + 1,a + n + 1,cmp);
    sort(b + 1,b + n + 1,cmp);
    while (p <= n && q <= n)
    {
        while (c[a[p].y])
        {
            p++;
        }
        a1 += a[p].x;
        c[a[p].y] = 1;
        p++;
        while (c[b[q].y])
        {
            q++;
        }
        
        a2 += b[q].x;
        c[b[q].y] = 1;
        q++;
    }
    cout << a1 - a2;
    return 0;
}