Hack
查看原帖
Hack
583435
andrew2012楼主2022/6/6 21:14
#include<bits/stdc++.h>
using namespace std;
int n,b,h[25],a[25],ans1,ans2; 
bool cmp(int x,int y)
{
	return x>y;
}
int main()
{
	cin>>n>>b;
	for(int i=1;i<=n;i++)
	{
		cin>>h[i];
		a[i]=h[i];
	}
	sort(h+1,h+n+1);
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		ans1+=h[i];
		if(ans1>=b)
			break;
	}
	for(int i=1;i<=n;i++)
	{
		ans2+=a[i];
		if(ans2>=b)
			break;
	}
	cout<<min(ans1,ans2)-b<<endl;
	return 0;
}

这种用sort()排序写的代码竟然都能够奇葩地通过!我来出一组Hack数据:

7 10
3 1 2 7 5 5 6
正确:1+2+7=10/5+5=10……
从矮到高:1 2 3 5 5 6 7		1+2+3+5=11
从高到矮:7 6 5 5 3 2 1		7+6=13
10<11<13
因此,此题不能够用sort()排序一遍过 

求管理员加强数据,谢谢!qwq~

2022/6/6 21:14
加载中...