Pagini recente » Cod sursa (job #1735693) | Cod sursa (job #2269067) | Cod sursa (job #2277012) | Cod sursa (job #2563431) | Cod sursa (job #1668424)
#include <fstream>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int n,a,i,nr,j,ma,lc,mi,k,v[5001],s[5001],l[5001];
int main()
{ f>>n;
for (i=1;i<=n;++i)
f>>v[i];
l[n]=1;
s[n]=n;
l[0]=999999999;
for (i=n;i>=0;--i) {
mi=999999999;
l[i]=999999999;
for (j=i+1;j<=n;++j)
if (v[j]<mi && v[i]<=v[j]) {
mi=v[j];
nr=l[j]+1;
if (l[i]==nr && v[j]<v[s[i]])
s[i]=j;
if (nr<l[i]) {
l[i]=nr;
s[i]=j;}}
if (l[i]==999999999) {
l[i]=1;
s[i]=i;}}
g<<l[0]-1<<'\n';
k=0;
while (k!=s[k]) {
k=s[k];
g<<k<<" ";
}
g<<'\n';
return 0;
}