40分求调
查看原帖
40分求调
1304731
TuanTuan_Cat楼主2025/8/29 17:57
#include<bits/stdc++.h>
using namespace std;
int n,d,s=INT_MAX,a[100007];
vector<vector<int>>v;
int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++) scanf("%d",&a[i]);
    sort(a,a+n);
    for(int i=0;i<n;i++){
        bool f=true;
        for(int j=0;j<d;j++){
            if(v.at(j).at(v.at(j).size()-1)+1==a[i]){
                f=false,v.at(j).push_back(a[i]);
                break;
            }
        }
        if(f){
            vector<int>t;
            t.push_back(a[i]);
            v.push_back(t),d++;
        }
    }
    for(int i=0;i<d;i++) s=min(s,int(v.at(i).size()));
    printf("%d",s);
    return 0;
}

评测记录:https://www.luogu.com.cn/record/233359847

2025/8/29 17:57
加载中...