7,8,9,10都wa,因为实在不会处理重复的数据,求大佬帮我看看怎么改。
#include <cstdio>
#include <queue>
#define ll long long
using namespace std;
priority_queue<ll, vector<ll>, greater<ll>> q;
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
ll temp;
scanf("%lld", &temp);
q.push(temp);
}
int min = 1000000;
int lenth = 1;
ll last = q.top();
q.pop();
int flag = 0;
for (int i = 1; i < n; i++) {
ll temp2 = q.top();
q.pop();
if (temp2 == last + 1) {
lenth++;
} else if (temp2 == last) {
flag = 1;
} else {
if (min > lenth) {
min = lenth;
}
lenth = 1;
}
last = temp2;
}
if (min > lenth) {
min = lenth;
}
printf("%d", min);
return 0;
}