QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#196281#6895. a-b ProblemRoyo#AC ✓88ms4780kbC++20654b2023-10-01 15:03:222023-10-01 15:03:22

Judging History

你现在查看的是最新测评结果

  • [2023-10-01 15:03:22]
  • 评测
  • 测评结果:AC
  • 用时:88ms
  • 内存:4780kb
  • [2023-10-01 15:03:22]
  • 提交

answer

#include<bits/stdc++.h>

using namespace std;

const int N=1e5+10;

struct Node{
	int sum;
	int a,b;
} node[N];
int n,t;

bool cmp(Node x,Node y)
{
	if(x.sum!=y.sum) return x.sum>y.sum;
	else return x.a>y.a;
}

int main()
{
	cin>>t;
	while(t--)
	{
		scanf("%d",&n);
		for(int i=1;i<=n;i++)
		{
			scanf("%d%d",&node[i].a,&node[i].b);
			node[i].sum=node[i].a+node[i].b;
		} 
		sort(node+1,node+1+n,cmp);
		long long ans=0;
		int flag=1;
		for(int i=1;i<=n;i++)
		{
			if(flag==1)
			{
				ans+=node[i].a;
			}
			else 
			{
				ans-=node[i].b;
			}
			flag*=-1;
		}
		printf("%lld\n",ans);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 88ms
memory: 4780kb

input:

20
3
0 2
1 2
3 3
3
1 0
2 3
0 4
4
2 8
1 14
10 2
10 6
2
1 3
3 4
2
4 8
6 2
2
0 0
10 10
2
5 0
2 1
2
4 5
6 2
3
4 2
10 9
3 8
3
6 1
3 4
4 0
3
10 3
7 3
2 10
3
1 9
8 1
0 0
4
1 2
15 8
11 8
10 2
4
9 3
5 14
10 5
2 12
4
7 6
7 6
12 11
2 15
100000
3 1
10 8
1 8
7 9
3 6
9 2
0 7
1 3
7 1
2 0
10 9
2 5
0 3
6 1
9 0
1 1
1...

output:

1
-1
-2
0
2
10
4
2
6
6
7
0
15
-1
-2
-697
-24972584309703
24978641064563
42097360102
-61290555356

result:

ok 20 lines