Pagini recente » Cod sursa (job #616426) | Cod sursa (job #1300485) | Cod sursa (job #2404096) | Cod sursa (job #3213815) | Cod sursa (job #628478)
Cod sursa(job #628478)
#include<fstream>
#include<iostream>
using namespace std;
int i,j,n,k,a[20],p[20],L[20];
ifstream f("sir.in");
void cit()
{f>>n;
for(i=1;i<=n;i++) f>>a[i];
f.close();
g.close();
}
void programare()
{L[n]=1; p[n]=n;
for(i=n-1;i>=1;i--)
{L[i]=1; p[i]=i;
for(j=i+1;j<=n;j++)
if(a[i]<=a[j] && L[i]<=L[j])
{L[i]=L[j]+1; p[i]=j;}}
}
void cauta()
{int max=-1;
for(i=1;i<=n;i++)
if(max<L[i]) {max=L[i]; k=1;}
}
void afiseaza()
{cout<<"Lungime subsir="<<L[k]<<';'<<'\n';
int poz=1;
for(i=2;i<=n;i++)
if(L[poz]<L[i]) poz=i;
cout<<"Pozitia este="<<poz<<';'<<'\n';
for(i=1,j=k;i<=L[k];i++,j=p[j]) cout<<a[j]<<' ';
}
int main()
{cit();
programare();
cauta();
afiseaza();
return 0;
}