A
水题:

#include<iostream>

using namespace std;

int main(){
	string s;
	cin>>s;
	if(s=="ABC") cout<<"ARC"<<endl;
	else cout<<"ABC"<<endl;
	return 0;
} 

B
水题:
主要是看懂就行,两个单词容易混淆,所以看样例理解比较好

#include<iostream>
#define maxn 105
using namespace std;

bool a[maxn];

int main(){
    int n,k;
    cin>>n>>k;
    int d;
    for(int i=1;i<=k;i++){
    	cin>>d;
    	for(int j=1;j<=d;j++){
    		int res;
    		cin>>res;
    		a[res] = 1;
		}
	}
	int tot =0;
	for(int i=1;i<=n;i++){
		if(a[i]==0) tot++;
	}
	cout<<tot<<endl;
	return 0;
} 

C

水题:本身不难,但是看错了,然后耽搁了许些时间

#include<bits/stdc++.h>
#define maxn 100005
using namespace std;
typedef long long ll;

ll a[maxn];
vector<ll> h[maxn];
int main(){
    ll n,m;
    cin>>n>>m;
    for(ll i=1;i<=n;i++){//各个塔的高度 
    	cin>>a[i];
	}
	ll aa,bb;
	for(ll i=1;i<=m;i++){//表示从哪条路能到哪条路 
		cin>>aa>>bb;
		h[aa].push_back(bb);
		h[bb].push_back(aa);
	}
	ll tot = 0;
	int flag;
	for(ll i=1;i<=n;i++){//对塔遍历 
	flag = 0;
	if(h[i].size()==0){
		tot++;
		continue;
	} 
	for(ll j=0;j<h[i].size();j++){
			if(a[i] > a[h[i][j]]){
				flag++;
				
			}
		}
		if(flag==h[i].size()) tot++;
	}
    cout<<tot<<endl;
	return 0;
} 

D

暴力即可

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll get(ll x)
{
    return x*x*x*x*x;
}
int main()
{
    ll x;
    cin >>x;
    for(ll i=-500;i<=500;i++)
    {
        int flag=0;
        for(ll j=-500;j<=500;j++)
        {
            if(get(i)-get(j)==x)
            {
                flag=1;
                cout <<i<<" "<<j<<endl;
                break;
            }
        }
        if(flag) break;
    }
}

E

不是很难,让我很意外

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const int maxn = 2e5+10;

ll a[maxn];
int main() {
    ios::sync_with_stdio(0);
    int n;
    cin>>n;
    map<ll,ll> ma;
    ll ans=0;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        ma[i-a[i]]++;
    }
    for(int i=1;i<=n;i++){
        ans+=ma[i+a[i]];
    }
    cout<<ans<<endl;
    return 0;
}