Pagini recente » Cod sursa (job #316961) | Cod sursa (job #947750) | Cod sursa (job #602194) | Cod sursa (job #298492) | Cod sursa (job #949859)
Cod sursa(job #949859)
#include<fstream>
#define modulo 9901;
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
long int a[10005],k,l[10005],x[10005],n,i,max1,poz,sol;
int main ()
{
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
l[n]=x[n]=1;
for(k=n-1;k>=1;k--)
{
max1=0;
poz=0;
for(i=k+1;i<=n;i++)
if(a[i]>a[k]&&l[i]>max1)
{
max1=l[i];
}
for(i=k+1;i<=n;i++)
if(a[i]>a[k]&&l[i]==max1)
{
poz=poz+x[i];
}
l[k]=1+max1;
if(poz==0) x[k]=1;
else x[k]=poz;
}
for(i=1;i<=n;i++)
if(max1<l[i])
max1=l[i];
for(i=1;i<=n;i++)
if(max1==l[i])
{sol=sol+x[i];
}
g<<max1<<"\n";
for(i=1;i<=n;i++)
g<<l[i]<<" "; g<<"\n";
return 0;
}