第一题:
#include<iostream>
#include<vector>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        vector<int> a(n);
        int sum=0,ans=0,flag=1;
        for(int i=0;i<n;i++){
            cin>>a[i];
            sum+=a[i];
        }
        if(sum%n != 0){
            cout<<-1<<endl;
            flag=0;
        }
        else{
            int avg=sum/n;
        	for(int i=0;i<n;i++){
            	if((a[i]-avg)%2 != 0){
                    flag=0;
                    cout<<-1<<endl;
                    break;
                }
                else if(a[i]>avg)
                    	ans+=a[i]-avg;
        	}
        }
        if(flag)
            cout<<ans/2<<endl;
    }
    return 0;
}

第二题: #include<iostream>
using namespace std;
int main(){
    long long  n;
    while(cin>>n){
        long long left=0,right=n,mid;
        while(left!=right){
            mid=(right+left+1)/2;
            if((n-mid)*1.0/mid < mid)
                right=mid-1;
            else left=mid;
        }
        mid=left;
        cout<<mid<<endl;
    }
    return 0;
}