1635B Avoid Local Maximums codeforces solution in cpp
by ujjal roy
#include<bits/stdc++.h>
using namespace std;
main()
{
int t ,n,i;
cin>>t;
while(t--)
{
int c=0;
cin>>n;
int a[n];
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(i=1;i<n-1;i++)
{
if(a[i]>a[i-1]&&a[i]>a[i+1])
{
if(i!=n-2)
{
if(a[i]<=a[i+2]) a[i+1]=a[i+2];
else a[i+1]=a[i];
}
else a[i]=a[i-1];
c++;
}
}
cout<<c<<endl;
for(i=0;i<n;i++) cout<<a[i]<<" ";
cout<<endl;
}
return 0;
}
0 Comments