Pagini recente » Cod sursa (job #2389204) | Cod sursa (job #1750001) | Cod sursa (job #3214369) | Cod sursa (job #417989) | Cod sursa (job #3131226)
#include <fstream>
using namespace std;
ifstream cin("subsiruri.in");
ofstream cout("subsiruri.out");
int dp[1000],a[1000],var[1000];
int main()
{
int n,i,j,max1,stg;
cin>>n;
for(i=0;i<n;i++){
cin>>a[i];
}
dp[0]=1;var[0]=1;
for(i=1;i<n;i++){
max1=0;
stg=1;
for(j=i-1;j>=0;j--){
if(a[i]>a[j] && dp[j]==max1){
stg=0;
var[i]+=var[j];var[i]%=9901;
}else if(a[i]>a[j] && dp[j]>max1){
var[i]=var[j];
stg=0;
max1=dp[j];
}
}
if(stg) var[i]=1;
dp[i]=max1+1;
}
max1=0;
for(i=0;i<n;i++){
if(max1<=dp[i]){
max1=dp[i];
}
}
cout<<max1<<"\n";
int cnt=0;
for(i=0;i<n;i++){
if(max1==dp[i]){
cnt+=var[i];cnt%=9901;
}
}
cout<<cnt;
return 0;
}