1 条题解
-
0
C++ :
#include <cstdio> using namespace std; int n=1,data[30002],m[30002],ans,now; bool killed[30002]; int main() { while(scanf("%d",&data[n])==1){m[n]=1;n++;}n--; for(int i=n-1;i>=1;i--) { for(int j=n;j>=i+1;j--) if(data[i]>=data[j]&&m[i]<m[j]+1) m[i]=m[j]+1; if(ans<m[i]) ans=m[i]; } printf("%d\n",ans); ans=0; for(int i=1;i<=n;i++) { if(killed[i]) continue; killed[i]=1; ans++;now=data[i]; for(int j=i+1;j<=n;j++) { if(killed[j]==1||data[j]>now) continue; now=data[j]; killed[j]=1; } } printf("%d",ans); return 0; }
- 1
信息
- ID
- 3486
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者