P1020求调
  • 板块灌水区
  • 楼主lion_or_cat
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/27 16:02
  • 上次更新2024/8/27 18:55:54
查看原帖
P1020求调
1065586
lion_or_cat楼主2024/8/27 16:02

原题链接

#include <bits/stdc++.h>
using namespace std;
int a[10001],n=1,f[10001];
bool ok[10001];
int main() {
    while(cin>>a[n])
        n++;
    n--;
    for(int i=1; i<=n; i++) {
        for(int j=i; j>=1; j--) {
            if(a[i]<=a[j]) {
                f[i]=max(f[i],f[j]+1);
            }
        }
    }
    int mx=0;
    for(int i=1; i<=n; i++)
    {
        mx=max(mx,f[i]);
    }
    cout<<mx<<endl;
    int mn=INT_MAX,ans=0,sum=0;
    while(1) {
        sum++;
        mn=INT_MAX;
        for(int i=1; i<=n; i++) {
            if(!ok[i]&&a[i]<=mn) {
                mn=min(a[i],mn);
                ok[i]=1;
                ans++;
            }
        }
        if(ans==n) {
            cout<<sum;
            return 0;
        }
    }
 
    return 0;
}
2024/8/27 16:02
加载中...