2 条题解
-
0
#include<bits/stdc++.h> using namespace std; int a[101]; int main() { int n,cnt = 0; cin>>n; for (int i = 0; i < n; i++) { cin >> a[i]; } while (true) { bool all_zero = true; for (int i = 0; i < n; i++) { if (a[i] != 0) { all_zero = false; break; } } if (all_zero) { break; } int max_idx = 0; for (int i = 1; i < n; i++) { if (a[i] >= a[max_idx]) { max_idx = i; } } int min_val = 101; for (int i = 0; i < n; i++) { if (a[i] != 0 && a[i] < min_val) { min_val = a[i]; } } a[max_idx] -= min_val; cnt+=1; } cout << cnt; return 0; } -
0
C++ :
#include <algorithm> #include <cstdio> using namespace std; const int N = 105; int n; int a[N]; int cnt; int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &a[i]); while (1) { int mx = n; for (int i = 1; i <= n; i++) if (a[i] >= a[mx]) mx = i; if (a[mx] == 0) break; int mn = a[mx]; for (int i = 1; i <= n; i++) if (a[i] > 0) mn = min(mn, a[i]); a[mx] -= mn; cnt++; } printf("%d\n", cnt); return 0; }
- 1
信息
- ID
- 5639
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者