- 花匠
- 2016-10-07 09:05:18 @
//花匠
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = 100005;
int use1[N];
int use2[N];
int main(){
int n, last, now;
cin >> n;
cin >> last;
fill(use1,use1 + N,1);
fill(use2,use2 + N,1);
for (int i = 2;i <= n; i++){
cin >> now;
if (last > now){
if (i % 2 == 0)
use1[i] = max(use1[i - 1] + 1, use2[i - 1]);
else
use2[i] = max(use2[i - 1] + 1, use1[i - 1]);
}
else {
if (i % 2 == 0)
use2[i] = max(use2[i - 1] + 1, use1[i - 1]);
else
use1[i] = max(use1[i - 1] + 1, use2[i - 1]);
}
last = now;
}
cout << max(use1[n],use2[n]) << endl;
return 0;
}
0 条评论
信息
- ID
- 1845
- 难度
- 6
- 分类
- (无)
- 标签
- 递交数
- 4343
- 已通过
- 1237
- 通过率
- 28%
- 被复制
- 9
- 上传者