Submission

Status:

PPP-PPPP--

Subtask/Task Score:

70/100

Score: 70

User: code

Problemset: สูงต่ำในตาราง

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-10 21:17:26

#include <bits/stdc++.h>
using namespace std;
int main () {
    int n,b;cin>>n>>b;
    int arr[n][n]={0};
    vector <int> m(n,1000001);
    vector <int> mx(n,0);
    int mn=1000001,mn2=1000001;
    int mxx=0,mxx2=0;
    int xmin=0,ymin=0,xmin2=0,ymin2=0,xmax=0,ymax=0,xmax2=0,ymax2=0;

    for (int i=0;i<n;i++){
        for (int j=0;j<n;j++){
            int k;cin>>k;
            arr[i][j]=k;
            if (k>mxx){mxx2=mxx;mxx=k;xmax2=xmax;ymax2=ymax;xmax=i;ymax=j;}
            else if (k>mxx2 && k<mxx){mxx2=k;xmax2=i;ymax2=j;}

            if (k<mn){mn2=mn;mn=k;xmin2=xmin;ymin2=ymin;xmin=i;ymin=j;}
            else if (k<mn2 && k>mn){mn2=k;xmin2=i;ymin2=j;}

            if (k<m[i]){
                m[i]=k;

            }else if (k>mx[i]){
                mx[i]=k;
            }
        }
    }
    //cout<<"mn="<<mn<<" mn2="<<mn2<<" xmin="<<xmin<<" ymin="<<ymin<<" xmin2="<<xmin2<<" ymin2="<<ymin2<<"\n";
    //cout<<" mxx="<<mxx<<" mxx2="<<mxx2<<" xmax="<<xmax<<" ymax="<<ymax<<" xmax2="<<xmax2<<" ymax2="<<ymax2;

    if (xmax==xmin){
        cout<<max(mxx+b-mn2+b,mxx2+b-mn+b);
    }else {
        cout<<mxx+b-mn+b;
    }
    return 0;
}