Cod sursa(job #867917)
| Utilizator | Data | 30 ianuarie 2013 12:58:15 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <iostream>
#include <fstream>
using namespace std;
int a[100001], l[100001],poz, k,i,mx,maxa,n;
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
}
l[n]=1;
for(i=n-1;i>=1;i--)
{
mx=0;
for(k=i+1;k<=n;k++)
{
if(a[i]<a[k] && l[k]>mx)
{
mx=l[k];
l[i]=mx+1;
}
if(mx+1>maxa)
{
maxa=mx+1;
}
}
}
g<<maxa<<"\n";
g<<a[poz]<<" ";
for(i=1;i<=n;i++)
{
g<<a[i]<<" "<<l[i]<<"\n";;
maxa--;
}
return 0;
}