军训 好久没有A题了
这阵时间心好烦 有好多事情困扰我 唉~
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct tree
{
int pos,sum;
}data_z[110],data_f[110];
int cmp_z(const tree&a,const tree&b)
{
return a.pos < b.pos;
}
int cmp_f(const tree&a,const tree&b)
{
return a.pos > b.pos;
}
int main()
{
int n;
while(cin>>n)
{
int num_z = 0,num_f = 0;
int pos,num;
for(int i = 0;i < n;i ++)
{
cin>>pos>>num;
if(pos > 0)
{
data_z[num_z].pos = pos;
data_z[num_z++].sum = num;
}
else
{
data_f[num_f].pos = pos;
data_f[num_f++].sum = num;
}
}
sort(data_z,data_z+num_z,cmp_z);
sort(data_f,data_f+num_f,cmp_f);
int ans = 0;
if(num_z > num_f)
{
for(int i = 0;i < num_f;i ++)
{
ans += data_z[i].sum;
ans += data_f[i].sum;
}
ans += data_z[num_f].sum;
}
else
{
for(int i = 0;i < num_z;i ++)
{
ans += data_z[i].sum;
ans += data_f[i].sum;
}
ans += data_f[num_z].sum;
}
cout<<ans<<endl;
}
return 0;
}