pku1456.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 56 行

CPP
56
字号
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define size 11000
using namespace std;

typedef struct Node
{
	int v, d;
} Node;

bool cmp(const Node &a, const Node &b)
{
	return a.v > b.v;
}

Node x[size];
int u[size];
int N;

void Solve()
{
	int ans;
	int i, p;
	for (i = 0; i < N; i++)
	{
		scanf("%d %d", &x[i].v, &x[i].d);
	}
	sort(x, x + N, cmp);
	memset(u, 0, sizeof(u));
	ans = 0;
	for (i = 0; i < N; i++)
	{
		p = x[i].d;
		while (p > 0)
		{
			if (!u[p])
			{
				u[p] = 1;
				ans += x[i].v;
				break;
			}
			p--;
		}
	}
	printf("%d\n", ans);
}

int main()
{
	while (EOF != scanf("%d", &N))
		Solve();
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?