Pagini recente » Cod sursa (job #2160674) | Cod sursa (job #2885297) | Cod sursa (job #1590248) | Cod sursa (job #2838499) | Cod sursa (job #2519139)
#include <fstream>
using namespace std;
ifstream f("subsiruri.in");
ofstream g("subsiruri.out");
int n,m,i,j,l[100005],ant[100005],v[100005],a[100005],lmax,poz,k,posibmax,posib[100005],ok;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
{
l[i]=0;
ant[i]=0;
for(j=1;j<i;j++)
{
if(v[j]<v[i]&&l[i]<l[j])
{
l[i]=l[j];
ant[i]=j;
}
}
l[i]=l[i]+1;
if(lmax<l[i])
{
lmax=l[i];
poz=i;
}
}
g<<lmax<<"\n";
for(i=1;i<=n;i++)
{
for(j=1;j<i;j++)
if(l[j]==l[i]-1&&v[i]>v[j])
posib[i]=(posib[i]+posib[j])%9901;
if(posib[i]==0)
posib[i]=1;
}
for(i=1;i<=n;i++)
if(l[i]==lmax)
posibmax=posibmax+posib[i];
g<<posibmax<<"\n";
f.close();
g.close();
return 0;
}