diff --git a/src/8/28/P4342.cpp b/src/8/28/P4342.cpp index 4c2433e..3e48a76 100644 --- a/src/8/28/P4342.cpp +++ b/src/8/28/P4342.cpp @@ -24,6 +24,7 @@ dpmin[i][j] = 1e9 dp[i][i]=arr[i] */ +#include #include #include #include @@ -51,17 +52,61 @@ int main(){ op[i+n]=op[i]; } std::vector> dpmax,dpmin; - for(ll s=1;s(n21,-1e9)); - dpmin.clear(); - dpmin.resize(n21,std::vector(n21,1e9)); - for(ll i=s;i<=e;i++){ - dpmax[i][i]=op[i][1]; - } - for(ll i=s;i<=e;i++){ - + dpmax.clear(); + dpmax.resize(n21,std::vector(n21,-1e9)); + dpmin.clear(); + dpmin.resize(n21,std::vector(n21,1e9)); + for(ll i=1;i<=2*n;i++){ + dpmax[i][i]=op[i][1]; + dpmin[i][i]=op[i][1]; + } + for(ll len=2;len<=n;len++){ + for(ll i=1;i<=2*n-len;i++){ + ll j=i+len-1; + for(ll k=i;k edgs; + for(ll i=1;i<=n;i++){ + ll nans=dpmax[i][i+n-1]; + if(nans>ans){ + ans=nans; + edgs.clear(); + edgs.push_back(i); + }else if(nans==ans){ + edgs.push_back(i); + } + } + std::cout<