Pagini recente » Cod sursa (job #361612) | Cod sursa (job #1007463) | Cod sursa (job #1660025) | Cod sursa (job #1929353) | Cod sursa (job #2039767)
#include <fstream>
#include <climits>
#define lim 100003
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
int n,v[lim],position=1;;
pair<int,int>Limits[lim];
//int mat[10000][10000];
void read ()
{
f>>n;
for (int i=1;i<=n;++i)
f>>v[i];
}
int bin_search(int n)
{
for (int i=1;i<=position;++i)
if (n>=Limits[i].first)
return i;
}
int maxim ()
{
int maxi=INT_MIN;
for (int i=1;i<position;++i)
maxi=max(Limits[i].second,Limits[i+1].second);
return maxi;
}
void print ()
{
for (int i=1;i<=position;++i)
g<<Limits[i].first<<' ';
g<<'\n';
for (int i=1;i<=position;++i)
g<<Limits[i].second<<' ';
g<<'\n';
}
int main()
{
read();
for (int i=1;i<=n;++i)
{
if (Limits[position].first>=v[i])
{
++position;
Limits[position].first=v[i];
Limits[position].second=1;
}
else
{
Limits[bin_search(v[i])].first=v[i];
++Limits[bin_search(v[i])].second;
}
}
g<<maxim();
return 0;
}