#include <iostream> #include <vector> using namespace std; vector< vector<int> > dp; vector<int> max_min; int pop_function(vector<int> nums, int n) {     int min = 99999;     for(int j = 1; j < n; j ++)     {         int k = j;         min = 99999;         for(int i = 0; i < nums.size() - k; i ++)         {             dp[i][k] =  nums[i + k] > dp[i][k - 1] ? nums[i + k] : dp[i][k - 1];             if(dp[i][k] < min)                 min = dp[i][k];         }         max_min.push_back(min);     }     return 1; } int main() {     int n;     cin>>n;     dp.resize(n);     for(int j = 0; j < n; j ++)     {         dp[j].resize(n);     }     vector<int> nums;     int i = 0;     int min = 99999;     while(i < n)     {         int a;         cin>>a;         nums.push_back(a);         dp[i][0] = a;         if(a < min)             min = a;         i++;     }     max_min.push_back(min);     pop_function(nums, n);     for(int j = 0; j < max_min.size(); j ++)     {         cout<<max_min[j]<<" ";     } }
点赞 1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务