Cod sursa(job #271180)
Utilizator | Data | 4 martie 2009 22:43:10 | |
---|---|---|---|
Problema | Secv | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<stdio.h>
#define IN "secv.in","r",stdin
#define OUT "secv.out","w",stdout
int n,nr=1;
int v[5020];
int stiva[5020];
void citire()
{
freopen(IN);
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&v[i]);
}
void solve()
{
int e=2;
stiva[1]=v[1];
for(int i=2;i<=n;++i)
{
while(stiva[e-1]>v[i])
--e;
if(stiva[e-1]<v[i])
{
stiva[e++]=v[i];
++nr;
}
}
}
void afisare()
{
freopen(OUT);
printf("%d",nr);
}
int main()
{
citire();
solve();
afisare();
return 0;
}