L1-056 猜数字

题目 L1-056 猜数字

image-7986be11

思路分析

代码实现

#include<bits/stdc++.h>

using namespace std;

#define endl '\n'

using ll = long long;

using ull = unsigned long long;

using PII = pair<int,int>;

using Pll = pair<ll,ll>;

int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};

const int inf = 0x3f3f3f3f;

struct People{

	string name;

	int gress;

	bool operator<(const People& rhs) const {

		return gress<rhs.gress;

	}

};

vector<People> p;

int main(){

	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

	int n;cin>>n;

	ll sum=0;

	for(int i=0;i<n;i++){

		string curn;int curg;cin>>curn>>curg;

		sum+=curg;

		p.push_back({curn,curg});

	}

	sort(p.begin(),p.end());

	double aver=sum*1.0/n;

	int finN=aver/2;

	//可以用二分找 但是只有1e4

	People last;

	for(auto c:p){

//		cout<<c.name<<" "<<c.gress<<endl;

		if(c.gress>=finN){

			if(c.gress>last.gress)	cout<<finN<<" "<<c.name<<endl;

			else	cout<<finN<<" "<<last.name<<endl;

			break;

		}

		last=c;

	}

	return 0;

}

同类题型

视频讲解


⬅️ L1-055 谁是赢家 🏠 00-天梯赛 ➡️ L1-057 PTA使我精神焕发