L1-056 猜数字 (20 分)————————效率不高,直接水过~~~~~~

版权声明:欢迎转载 https://blog.csdn.net/wl1780852311/article/details/88752711
//简单题
#include<bits/stdc++.h>
using namespace std;
struct people{
	string name;
	int digit;
}a[20000];
int main()
{
	int n,sum=0;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i].name>>a[i].digit;
		sum+=a[i].digit;
	}
	int ave=sum/n;
	int ban=ave/2;
	int k=0,b[20000],r;
	for(int i=0;i<n;i++)
	{
		b[k++]=abs(a[i].digit-ban);
	}
	sort(b,b+k);
	for(int i=0;i<n;i++)
	{
		if(abs(a[i].digit-ban)==b[0])
		{
			r=i;
			break;
		}
	}
	cout<<ban<<" "<<a[r].name<<endl;
	return 0;
}

题目连接

猜你喜欢

转载自blog.csdn.net/wl1780852311/article/details/88752711