Pagini recente » Cod sursa (job #3288363) | Cod sursa (job #2703222) | Cod sursa (job #579403) | Cod sursa (job #2508324) | Cod sursa (job #787215)
Cod sursa(job #787215)
#include <iostream>
#include <fstream>
using namespace std;
fstream f("scmax.in", ios::in),
g("scmax.out", ios::out);
int numere[100001], succ[100001], i, maxTemp, maxGlob, n;
void actual(int i)
{
int k, maxTemp;
maxTemp=0;
for(k=i+1;k<=n;k++)
{
if(numere[k]>=numere[i] && succ[k]>maxTemp)
maxTemp=succ[k];
}
succ[i]=maxTemp+1;
if(succ[i]>maxGlob)
maxGlob=succ[i];
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>numere[i];
succ[n]=1;
for(i=n-1;i>=1;i--)
actual(i);
g<<maxGlob<<endl;
for(i=1;i<=n;i++)
{
if(succ[i]==maxGlob)
{
g<<numere[i]<<" ";
maxGlob--;
}
}
return 0;
}