#include "stdafx.h"

#define max 100

void bubblesort(int a[],int b[], int n)  //数组a从大到小,并且b同步变化

{

int i, j, t,t1;

for (i = 0; i < n - 1; i++)

{

for (j = 0; j < n - 1 - i; j++)

{

if (a[j] < a[j + 1])

{

t = a[j];

a[j] = a[j + 1];

a[j + 1] = t;

t1 = b[j];

b[j] = b[j + 1];

b[j + 1] = t1;

}

}

}

}

int main()

{

int a[max][2],n,i,j=0,sum1=0, sum2 = 0,sum=0, x[max],y[max];

scanf("%d", &n);

for (i = 0; i < n; i++)

{

scanf("%d%d", &a[i][0], &a[i][1]);

if (a[i][0] + a[i][1] > 0)  //相加小于0直接排除,并把a,b存到x y中

{

x[j] = a[i][0];

y[j] = a[i][1];

j++;

}

}

bubblesort(x,y,j);   //x数组从大到小排序,然后进行累加,不符合条件置0

for (i = 0; i < j; i++)

{

sum1 += x[i];

if (sum1 < 0)

{

x[i] = 0;

y[i] = 0;

}

}

bubblesort(y, x, j); //y数组从大到小排序,然后进行累加

for (i = 0; i < j; i++)

{

sum2 += y[i];

if (sum2 < 0)

{

x[i] = 0;

y[i] = 0;

}

}

for (i = 0; i < j; i++)

{

sum += x[i] + y[i];

}

printf("%d", sum);

return 0;

}



点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论