CF 558A(Lala Land and Apple Trees-暴力)

A. Lala Land and Apple Trees

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Amr lives in Lala Land. Lala Land is a very beautiful country that is located on a coordinate line. Lala Land is famous with its apple trees growing everywhere.

Lala Land has exactly n apple trees. Tree number i is
located in a position xi and
has ai apples
growing on it. Amr wants to collect apples from the apple trees. Amr currently stands in x?=?0 position. At the beginning, he can choose
whether to go right or left. He‘ll continue in his direction until he meets an apple tree he didn‘t visit before. He‘ll take all of its apples and then reverse his direction, continue walking in this direction until he meets another apple tree he didn‘t visit
before and so on. In the other words, Amr reverses his direction when visiting each new apple tree. Amr will stop collecting apples when there are no more trees he didn‘t visit in the direction he is facing.

What is the maximum number of apples he can collect?

Input

The first line contains one number n (1?≤?n?≤?100),
the number of apple trees in Lala Land.

The following n lines contains two integers each xiai (?-?105?≤?xi?≤?105, xi?≠?0, 1?≤?ai?≤?105),
representing the position of the i-th tree and number of apples on it.

It‘s guaranteed that there is at most one apple tree at each coordinate. It‘s guaranteed that no tree grows in point 0.

Output

Output the maximum number of apples Amr can collect.

Sample test(s)

input

2
-1 5
1 5

output

10

input

3
-2 2
1 4
-1 3

output

9

input

3
1 9
3 5
7 10

output

9

Note

In the first sample test it doesn‘t matter if Amr chose at first to go left or right. In both cases he‘ll get all the apples.

In the second sample test the optimal solution is to go left to x?=??-?1, collect apples from there, then the direction will be reversed,
Amr has to go to x?=?1, collect apples from there, then the direction will be reversed and Amr goes to the final tree x?=??-?2.

In the third sample test the optimal solution is to go right to x?=?1, collect apples from there, then the direction will be reversed
and Amr will not be able to collect anymore apples because there are no apple trees to his left.

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=next[p])
#define Lson (x<<1)
#define Rson ((x<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (100000007)
#define MAXN (1000)
typedef long long ll;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return (a-b+(a-b)/F*F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int n;
pair<int,int> p[MAXN];
int main()
{
//	freopen("A.in","r",stdin);
//	freopen(".out","w",stdout);

	cin>>n;
	For(i,n) scanf("%d%d",&p[i].first,&p[i].second);

	sort(p+1,p+1+n);
	p[0]=p[n+1]=make_pair(-INF,-INF);
	int p2=1;
	while(p2<=n&&p[p2].first<0) ++p2;

	if (p2>n)
	{
		cout<<p[n].second<<endl;return 0;
	}

	int s1,s2;
	int len=min(s1=p2-1,s2=n-p2+1);

	int ans=0;
	For(i,len)
	{
		ans+=p[p2+i-1].second+p[p2-i].second;
	}

	int l=p2-len,r=p2+len-1;
	if (l==1&&r<n) ans+=p[r+1].second;
	if (r==n&&l>1) ans+=p[l-1].second;
	if (l>1&&r<n) ans+=max(p[l-1].second,p[r+1].second);

	cout<<ans<<endl;

	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-06 09:18:59

CF 558A(Lala Land and Apple Trees-暴力)的相关文章

cf 558A Lala Land and Apple Trees

#include<stdio.h> #include<algorithm> #include<string.h> using namespace std; struct data { int x; int a; }; data l[1024],r[1024]; bool c1(data q,data p) { return q.x<p.x; } bool c2(data q,data p) { return q.x>p.x; } int main() { i

Codeforces 558A Lala Land and Apple Trees(Sort快排)

A. Lala Land and Apple Trees time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Amr lives in Lala Land. Lala Land is a very beautiful country that is located on a coordinate line. Lala Land is

Codeforces Round #312 (Div. 2) A. Lala Land and Apple Trees 暴力

A. Lala Land and Apple Trees Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/558/problem/A Description Amr lives in Lala Land. Lala Land is a very beautiful country that is located on a coordinate line. Lala Land is famous

Codeforces 558A Lala Land and Apple Trees 摘苹果

题意:n棵苹果树在x轴上排成一排,每棵苹果树有一个坐标值(均不为0)和苹果数量.现在某人从0开始任意选择一个方向走,每遇到一颗新的苹果树就摘下所有苹果,然后掉转方向直到遇到下一颗之前没遇到过的苹果树然后再摘下所有苹果,如此往复直到再也遇不到新的苹果树.问最多能摘下多少个苹果. 水题.以0为中心,对坐标排序后计算左右两边的苹果树个数.如果左边小于右边,就先从左边摘,反之则先从右边摘.最后看有多少个苹果树摘不到即可. #include <iostream> #include <cstdio&

Codeforces Round #312 (Div. 2) A.Lala Land and Apple Trees

Amr lives in Lala Land. Lala Land is a very beautiful country that is located on a coordinate line. Lala Land is famous with its apple trees growing everywhere. Lala Land has exactly n apple trees. Tree number i is located in a position xi and has ai

Codechef December Challenge 2014 Chef and Apple Trees 水题

Chef and Apple Trees Chef loves to prepare delicious dishes. This time, Chef has decided to prepare a special dish for you, and needs to gather several apples to do so. Chef has N apple trees in his home garden. Each tree has a certain (non-zero) num

2015北京网络赛 F Couple Trees 暴力倍增

Couple Trees Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/problemset/problem/1232 Description "Couple Trees" are two trees, a husband tree and a wife tree. They are named because they look like a couple leaning on each other.

B. Apple Tree 暴力 + 数学

http://codeforces.com/problemset/problem/348/B 注意到如果顶点的数值确定了,那么它分下去的个数也就确定了,那么可以暴力枚举顶点的数值. 顶点的数值是和LCM相隔的,LCM就是,比如1有三个子节点,那么1的数值起码都是3的倍数,不然不能整除. 同理,1有三个儿子2.3.4.,如果3有三个儿子,那么1就要起码是9的倍数了,因为需要分给3的时候至少是3. 所以算出整颗树的LCM,叶子节点LCM是1,其他的LCM = lcm(所有子节点) * son[cur

CF 815 A. Karen and Game(暴力,模拟)

题目链接:http://codeforces.com/problemset/problem/815/A 题目: On the way to school, Karen became fixated on the puzzle game on her phone! The game is played as follows. In each level, you have a grid with n rows and m columns. Each cell originally contains