Pagini recente » Cod sursa (job #2679530) | Cod sursa (job #139523) | Cod sursa (job #2588800) | Cod sursa (job #1542186) | Cod sursa (job #1212605)
#include <fstream>
using namespace std;
ifstream mama("scmax.in");
ofstream tata("scmax.out");
int a[100001], minim[100001], r[100001],n, sir[100001];
int main()
{
mama>>n;
for(int i=0; i<n; i++)
mama>>a[i];
int j=0,maxim=1;
minim[0]=a[0];
for(int k, i=1; i<n; i++){
k=j;
if(a[i]>minim[j]) { r[i]=j+1; minim[j+1]=a[i]; j++; maxim=j+1;}
else
{
while(a[i] <= minim[j] and j > -1)
j--;
r[i]=j+1; minim[j+1]=a[i];
j=k;
}
}
tata<<maxim<<'\n';
for(int i=0; i<=j; i++)
tata<<minim[i]<<" ";
return 0;
}