Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
140926 | 方文轩 | 导弹拦截 | C++ | 运行超时 | 0 | 1000 MS | 316 KB | 717 | 2024-04-01 13:44:56 |
#include<bits/stdc++.h> using namespace std; int x=1; int a[100001][4]; int put(){ int s=a[1][1]; for(int i=1;i<=x;i++){ if(a[i][1]<=s){ s=a[i][1]; a[i][1]=0; } } int cnt=1; for(int i=1;i<=x;i++){ if(a[i]!=0){ a[cnt][1]=a[i][1]; } cnt++; } x=cnt-1; } int main(){ while(cin>>a[x][1]) x++; x--; a[x][2]=1; a[x][3]=0; for(int i=x-1;i>=1;i--){ int maxn=0,max1=0; for(int j=i;j<=x;j++){ if(a[j][1]<=a[i][1]&&a[max1][2]<a[j][2]){ max1=j; maxn=a[j][2]; } } a[i][2]=maxn+1; a[i][3]=max1; } int max2=0; for(int i=1;i<=x;i++) max2=max(max2,a[i][2]); int sum=1; while(x!=0){ put(); sum++; } cout<<max2<<" "<<sum; }