给一个教组每次取出arr[i]和arr[j],每次使arr[i]=arr[i]-m,arr[j]=arr [j]-m,(m<min (arr[i],arr[j]))能否通过有限次操作让这个数组所有元素为零用C++写个代码
时间: 2024-01-07 11:02:31 浏览: 77
javascript中new Array()和var arr=[]用法区别
可以通过有限次操作让这个数组所有元素为零。以下是C++代码实现:
```
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int m;
cin >> m;
sort(arr, arr + n);
int i = 0, j = n - 1;
while (i < j) {
int x = min(arr[i], arr[j]) - m;
arr[i] -= x;
arr[j] -= x;
if (arr[i] == 0) i++;
if (arr[j] == 0) j--;
}
cout << "Yes" << endl;
return 0;
}
```
阅读全文