Cod sursa(job #539799)
Utilizator | Vlad Schnakovszki shnako | Data | 23 februarie 2011 12:59:43 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <cstdio>
using namespace std;
FILE *f=fopen("scmax.in", "r"), *g=fopen("scmax.out", "w");
long v[100001], l[100001], a[100001], i, max, pmax, n, j, sw;
int main(void)
{
fscanf(f, "%ld", &n);
for (i=1;i<=n;i++)
{
fscanf(f, "%ld", &v[i]);
sw=0;
for (j=1;j<i;j++)
if (v[i]>=v[j])
if (l[i]<l[j]+1)
{
l[i]=l[j]+1;
a[i]=j;
sw=1;
}
if (!sw)
l[i]=1;
if (l[i]>max)
{
max=l[i];
pmax=i;
}
}
fprintf(g, "%ld", max);
fclose(f);
fclose(g);
return 0;
}