Pagini recente » Cod sursa (job #2501899) | Cod sursa (job #2349644) | Cod sursa (job #2512627) | Cod sursa (job #809377) | Cod sursa (job #808446)
Cod sursa(job #808446)
# include <iostream>
# include <fstream>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int main()
{
int l[5010],r[5010],x[5010],i,j,n,m,mi,mr;
f>>n;
for(i=1; i<=n; i++) f>>x[i];
r[i] = l[i] = 1; l[1] = 1;
for(i=2; i<=n; i++)
for(j=1; j<i; j++)
if(x[j] <= x[i] && l[i]<l[j]+1) l[i] = l[j]+1;
r[n] = 1;
for(i=n-1; i>=1; i--)
for(j=i+1; j<=n; j++)
if(x[i] <= x[j] && r[i]<r[j]+1)
r[i] = r[j]+1;
for(i=1; i<=n; i++) if(!m || m>l[i]+r[i]-1) m = l[i] + r[i] -1, mi=i;
g<<m<<endl;
for(i=mi; i<=n; i++) if(l[i]+r[i]-1 == m && x[mi] <= x[i])
g<<i<<' ', mi=i;
return 0;
}