Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
140926 方文轩 导弹拦截 C++ 运行超时 0 1000 MS 316 KB 717 2024-04-01 13:44:56

Tests(0/10):


#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; }


测评信息: