Cod sursa(job #800065)
| Utilizator | Data | 20 octombrie 2012 17:34:48 | |
|---|---|---|---|
| Problema | Subsir 2 | Scor | 55 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<stdio.h>
int s[5001],v[5001],n,u;
FILE *fin,*fout;
void citire()
{
fin=fopen("subsir2.in","r");
fscanf(fin,"%d",&n);
for(int i=1;i<=n;i++)
{
fscanf(fin,"%d",&v[i]);
}
}
void afisare()
{
fout=fopen("subsir2.out","w");
fprintf(fout,"%d\n",u);
for(int i=1;i<=u;i++)
{
fprintf(fout,"%d ",s[i]);
}
}
int main()
{
citire();
s[1]=1;
u=1;
for(int i=2;i<=n;i++)
{
while(v[i]<v[s[u]] && u>0)
{
u--;
}
u++;
s[u]=i;
}
afisare();
return 0;
}
