比赛 |
防止浮躁的小练习v0.7 |
评测结果 |
AAAAAAAAAA |
题目名称 |
拦截导弹 |
最终得分 |
100 |
用户昵称 |
Lethur |
运行时间 |
0.019 s |
代码语言 |
C++ |
内存使用 |
0.26 MiB |
提交时间 |
2016-10-27 16:07:42 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#define MAXN 1001
using namespace std;
int dp1[MAXN] = {0};
int dp2[MAXN] = {0};
int a[MAXN];
int n=0;
int main()
{
freopen("missile.in","r",stdin);
freopen("missile.out","w",stdout);
while(scanf("%d", &a[++n]) != EOF);
n--;
dp1[1] = 1;
int max;
int ans = 1;
for(int i=2; i<=n; i++)
{
max = 0;
for(int j=1; j<i; j++)
{
if(max<dp1[j] && a[j]>a[i]) max=dp1[j];
}
dp1[i] = max+1;
if(dp1[i]>ans) ans = dp1[i];
}
cout << ans << endl;
ans = 1;
dp2[1] = 1;
for(int i=2; i<=n; i++)
{
max = 0;
for(int j=1; j<i; j++)
{
if(max<dp2[j] && a[j]<a[i]) max = dp2[j];
}
dp2[i] = max + 1;
if(dp2[i] > ans) ans = dp2[i];
}
cout << ans << endl;
return 0;
}