这场比赛打完,我自闭了。感觉跟我们学校的校赛是完全不同的风格。我校校赛的特点是繁,代码量大lzh大毒瘤。而贵校的校赛题思维难度很大,做着做着就自闭了。


A 拯救咕咕咕之史莱姆

这题是思维题,稍微绕了点弯,其实是签到题。不过蒟蒻还是没考虑清楚,WA了一发。赛场上,我看了看样例输入,猜了一个的分界线,居然AC了,可见数据弱。不过签到题问题不大。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll n;
    while(cin>>n&&n){
        if(n<=75)puts("AOLIGEI!");
        else puts("DAAAAAMN!");
    }
    return 0;
}

E 无敌阿姨

模拟题意,码量不大。不过我被第行的判断条件坑了一把,因为一旦上了顶楼,就没有再爬楼梯的必要。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--){
        int n,m,k;
        cin>>n>>m>>k;
        int a[1000500];
        for(int i=1;i<=n;++i){
            cin>>a[i];
        }
        int cnt=0,hp=m;
        for(int i=1;i<=n;){
            if(a[i]>hp){
                ++cnt;
                a[i]-=hp;
                hp=m;
            }else{
                hp-=a[i++];
                if(i!=n+1&&hp<k){
                    ++cnt;
                    hp=m;
                }else{
                    hp-=k;
                }
            }
            //cout<<hp<<endl;
        }
        cout<<cnt+(a[n]!=0)<<endl;
    }
    return 0;
}

G 校车

官方题解的思想是离散化。这里可以用map离散化坐标,上车就,下车就

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        map<int,int> mp;
        while(n--){
            int a,b;
            cin>>a>>b;
            ++mp[a];
            --mp[b];
        }
        int ans=0,sum=0;
        for(auto i:mp)sum+=i.second,ans=max(ans,sum);
        cout<<mp.size()<<' '<<ans<<endl;
    }
    return 0;
}