第一题:
#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;
}