PTA 7-38 寻找大富翁 (25 分)
刚上手C++
目的是n中前m个数据,
本题M<=10,数据较少,
先填入M 个数据,用sort
排序,
之后对于每一个数据,与最小项相比,
大于就替换最小项,再排序。
注:若 N<=M, 令M=N,输入数据后直接排序即可。
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n, m;//n 个人,找出前m 个。
cin >> n >> m;
long long *money=new long long [m];
if (n <= m)
m = n;
for (int i = 0;i < m;i++)
cin >> money[i];
sort(money, money+m);
for (int i = m+1;i <= n;i++)
{
long long s;
cin >> s;
if (s > money[0])
{
money[0] = s;
sort(money, money+m);
}
}
for (int i = m - 1;i > 0;i--)
cout << money[i]<<' ';
cout << money[0];
return 0;
}