Pagini recente » Rating Mihai Rares Alexandru (rares.rufus) | Monitorul de evaluare | Cod sursa (job #1506040) | Cod sursa (job #2151491) | Cod sursa (job #2861543)
#include <iostream>
#include <fstream>
using namespace std;
int szamok[20000000];
int maxik[20000000]={0};
int csucsok;
int legnagyobb;
void kiir_maxik()
{
for(int i=0;i<csucsok;i++)
{
cout<<maxik[i]<<" ";
cout<<endl;
}
cout<<legnagyobb;
}
void kiir()
{
ofstream out ("scmax.out");
out<<legnagyobb<<endl;
for(int i=0;i<csucsok;i++)
{
if(maxik[i]==legnagyobb)
{
// cout<<szamok[i]<<" ";
legnagyobb--;
out<<szamok[i]<<" ";
}
}
}
void beolvas()
{
ifstream in("scmax.in");
in>>csucsok;
for(int i=0;i<csucsok;i++)
{
in>>szamok[i];
}
}
void scmax()
{
maxik[csucsok-1]=1;
for(int i=csucsok-2;i>=0;i--)
{
int segedmax=0;
for(int j=i+1;j<csucsok;j++)
{
if(szamok[i]<szamok[j])
{
if(maxik[j]>segedmax)
{
maxik[i]=maxik[j];
segedmax=maxik[j];
}
}
}
maxik[i]+=1;
if(legnagyobb< maxik[i])
{
legnagyobb=maxik[i];
}
}
}
int main()
{
beolvas();
scmax();
//kiir_maxik();
kiir();
}