A AOE还是单体?
贪心,第一次溢出了,只好用vector(也许是代码写错了,看大家用数组都过了)
先判断当m<=x时,仅发起单体攻击;当m>x时,先对前n-x个怪兽发起群体攻击,然后再对后者进行单体攻击
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
typedef unsigned long long ll;
bool cmp(ll a,ll b)
{
    return a>b;
}
vector<ll> a;
int main()
{
    ll n,x,i;
    cin>>n>>x;
    ll s=0,c;
    for(i=0;i<n;i++)
    {
        cin>>c;
        s+=c;
        a.push_back(c);
    }
    ll sum=0;
    if(n<=x)
    {
        cout<<s<<endl;
    }
    else if(s>n)
    {
        sort(a.begin(),a.end());
        sum=x*a[n-x];
        for(i=n-x+1;i<n;i++)
        {
            sum=sum+a[i]-a[n-x];
        }
        cout<<sum<<endl;
    }
}

F 疯狂的自我检索者
极端思想,分数最低的情况,隐藏的分数均为最低分 1 分;分数最高的情况,隐藏的分数均为最高分 5 分
#include<iostream>
#include<cstdio>
using namespace std;
typedef unsigned long long ll;
int main()
{
    ll n,m,i,a;
    cin>>n>>m;
    double s=0;
    for(i=0;i<n-m;i++)
    {
        cin>>a;
        s+=a;
    }
    printf("%.5f %.5f\n",(s+m)/n,(s+5*m)/n);
}

H 神奇的字母(二)
有若干的字符串读入,用(cin>>s)读取,在最后测评机会自动Ctrl+z,跳出读取循环,然后开一个26长度的数组来记录每个字符出现的数量。
#include<iostream>
#include<cstdio>
#include<string>
#include<string.h>
using namespace std;
typedef unsigned long long ll;
int main()
{
    string s;
    ll a[26]={0},m=0,ma=0;
    cin.ignore();
    while(cin>>s)
    {
        ma=m=0;
        for(ll i=0;i<s.length();i++)
        {
            if(s[i]>='a'&&s[i]<='z')
            {
                a[s[i]-'a']++;
            }
        }
        for(ll i=0;i<26;i++)
        {
            if(ma<=a[i])
            {
                ma=a[i];
                m=i;
            }
        }
    }
    printf("%c\n",m+'a');
}