100分,但是最后一个#11点TLE,求大佬指点啊
查看原帖
100分,但是最后一个#11点TLE,求大佬指点啊
944192
homi楼主2023/7/19 21:04

代码如下,真的找不到原因

#include <bits/stdc++.h>

#define MAX 100005
using namespace std;
int n, a[MAX], ans = INT_MAX, k;
bool fd;
struct node {
    int num, las;
} s[MAX];

int main() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &a[i]);
    }
    sort(a + 1, a + n + 1);
    for (int i = 1; i <= n; i++) {
        fd = false;
        for (int j = k; j > 0; j--) {
            if (s[j].las == a[i] - 1) {
                fd = true;
                s[j].num++;
                s[j].las = a[i];
                break;
            }
        }
        if (!fd) {
            s[++k].las = a[i];
            s[k].num = 1;
        }
    }
    for (int i = 1; i <= k; i++) {
        if (ans > s[i].num) {
            ans = s[i].num;
        }
    }
    printf("%d", ans);
    return 0;
}
2023/7/19 21:04
加载中...