Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int arr[1005];
- int n;
- long long int prev(int i)
- {
- long long int s=0;
- if (i==0) return arr[0];
- int minn = arr[i];
- int j=i;
- while(j>=0)
- {
- minn=min(arr[j],minn);
- s+=minn;
- j--;
- }
- return s;
- }
- long long int aft(int i)
- {
- long long int s=0;
- if (i==n-1) return 0;
- int minn = min(arr[i],arr[i+1]);
- int j=i+1;
- while(j<n)
- {
- minn=min(arr[j],minn);
- s+=minn;
- j++;
- }
- return s;
- }
- int tot()
- {
- long long int s = prev(0)+aft(0);
- int x=0;
- int i=0;
- while(i<n)
- {
- if(s<(prev(i)+aft(i)))
- {
- s=prev(i) + aft(i);
- x=i;
- }
- i++;
- }
- return x;
- }
- int main()
- {
- int n;
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- cin>>n;
- for(int i=0;i<n;i++) cin>>arr[i];
- int x=tot();
- int j=x-1;
- int minn=arr[x];
- while(j>=0)
- {
- minn= min(minn,arr[j]);
- arr[j]=minn;
- j--;
- }
- j=x+1;
- minn=arr[x];
- while(j<n)
- {
- minn= min(minn,arr[j]);
- arr[j]=minn;
- j++;
- }
- for(int i=0;i<n;i++) cout<<arr[i]<<" ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement