题意:一个数组里面有n个元素,现在有两种情况:
在一秒内,向所有非零元素加上一个数,可以是负数。
如果所有元素都为0,那这个数组就会爆炸。
问最少多少秒这个数组能爆炸(所有数都为0)
题解:找规律 这道题是道规律题,不要去模拟,那会很复杂。对所有元素去重,非0个数就是答案。
#include<bits/stdc++.h> using namespace std; int n,x; set<int>s; int main() { cin>>n; for(int i=0; i<n; i++) cin>>x,s.insert(x); printf("%d\n",s.size()-s.count(0)); return 0; }
R=lambda:map(int,input().split()) n=R() a=R() a=set(a) print (len(a)) if 0 not in a else print (len(a)-1)
n=input() a=map(int,input().split()) print(len(set(a)-{0}))