第一次发学术帖qwq
#include<bits/stdc++.h>
using namespace std;
const int maxn = 10005;
int n, ans, sna, tmp, arr[maxn], dp[maxn], ddp[maxn];
int main(){
while(cin >> tmp){
n++;
arr[n] = tmp;
dp[n] = 1;
ddp[n] = 1;
}
for(int i = 1;i <= n;i++){
for(int j = 1;j < i;j++)
if(arr[j] >= arr[i])
ddp[i] = max(ddp[i], ddp[j] + 1);
ans = max(ddp[i], ans);
}
for(int i = 1;i <= n;i++){
for(int j = 1;j < i;j++)
if(arr[j] < arr[i])
dp[i] = max(dp[i], dp[j] + 1);
sna = max(dp[i], sna);
}
printf("%d\n%d", ans, sna);
return 0;
}
为什么第六行改成scanf就会报错,cin是对的?