6 solutions
-
0
Guest MOD
-
-3
#include<bits/stdc++.h> #define ll long long using namespace std;
int n, a[100010]; // 输入数组及长度
inline void solve() { scanf("%d", &n); // 读取数组长度 bool one = false; // 标记是否存在元素1 int zero = 0; // 统计0的个数
// 读取数组并统计特性 for (int i = 1; i <= n; ++i) { scanf("%d", &a[i]); if (a[i == 1]) one = true; // 存在1时标记为true if (a[i] == 0) ++zero; // 统计0的数量 } // 排序去重操作 sort(a + 1, a + 1 + n); // 升序排序 n = unique(a + 1, a + 1 + n) - (a + 1); // 去重后获取新长度 // 决策逻辑 if (zero == 1) printf("1\n"); // 唯一0元素时的特殊处理 else if (zero > 1) printf("0\n"); // 多个0元素时的结果 else printf("%d\n", n - one); // 无0时的计算逻辑:去重后元素数 - (是否包含1)}
int main() { solve(); return 0; } 注释
Information
- ID
- 1472
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 211
- Accepted
- 24
- Uploaded By