AcWing 125. 耍杂技的牛C语言版
原题链接
中等
作者:
-_132
,
2024-02-28 14:23:27
,
所有人可见
,
阅读 28
#include<stdio.h>
#include<stdlib.h>
int n;
int **a;
int max(int a, int b) {
return a > b ? a : b;
}
int cmp(const void *a, const void *b) {
int *x = *(int**)a, *y = *(int**)b;
return x[0] + x[1] - y[0] - y[1];
}
int main() {
scanf("%d\n", &n);
a = (int**)malloc(sizeof(int*) * n);
for(int i = 0; i < n; i++) {
a[i] = (int*)malloc(sizeof(int) * 2);
}
for(int i = 0; i < n; i++) {
scanf("%d %d\n", &a[i][0], &a[i][1]);
}
qsort(a, n, sizeof(int*), cmp);
int res = 0 - a[0][1], sum = a[0][0];
for(int i = 1; i < n; i++) {
res = max(res, sum - a[i][1]);
sum += a[i][0];
}
printf("%d", res);
return 0;
}