码迷,mamicode.com
首页 > 其他好文 > 详细

南阳oj 71 独木舟上的旅行

时间:2015-07-31 13:10:40      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:

描述

请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,

比如当n=92081346718538,m=10时,则新的最大数是9888

 

输入
第一行输入一个正整数T,表示有T组测试数据
每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)
输出
每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数
样例输入
2
92081346718538 10
1008908 5
样例输出
9888
98


#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
	int t;
	int n,m;
	int i,j;
	int a[1010];
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&m,&n);
		for(i=0;i<n;++i)
		{
			scanf("%d",a+i);
		}
		sort(a,a+n);
		i=0;j=n-1;
		int cnt=0;
		while(i<=j)
		{
			if(i==j)
			{
				++cnt;
				break;
			}
			if(a[i]+a[j]<=m)
			{
				++cnt;
				++i;--j;
			}
			else 
			{
				++cnt;
				--j;
			}
		}
		printf("%d\n",cnt);
	}
	return 0;
}


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

南阳oj 71 独木舟上的旅行

标签:

原文地址:http://blog.csdn.net/yuzhiwei1995/article/details/47166743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!