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

相关推荐

牛客网
牛客企业服务