Cod sursa(job #372881)
| Utilizator | Data | 11 decembrie 2009 22:15:40 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
std::ifstream in("scmax.in");
std::ofstream out("scmax.out");
int main ()
{
int n;
in>>n;
int *a = new int[n];
int i,start,end,el,max=-90000,pozi,pozf;
for(i=0;i<n;i++)
in>>a[i];
i=0;
while(i<n)
{
el=0;
if(a[i]>a[i+1])
i++;
start = i;
while(a[i]<=a[i+1]&&i<n)
{
if(a[i]<a[i+1])
el++;
i++;
}
end=i-1;
if(el>max)
{
pozi=start;
pozf=end;
max=el;
}
}
out<<max<<"\n";
for(i=pozi;i<=pozf;++i)
if(a[i]<a[i+1])
out<<a[i]<<" ";
}