Submission
Status:
--------PP
Subtask/Task Score:
20/100
Score: 20
User: lingusso
Problemset: สูงต่ำในตาราง
Language: cpp
Time: 0.003 second
Submitted On: 2026-04-10 15:29:24
#include<iostream>
using namespace std;
int main(){
int n,b;
cin>>n>>b;
int arr[n][n],max=0,min,maxid,minid=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>arr[i][j];
if(i==0 && j==0){
min = arr[i][j];
}
if(arr[i][j]>max){
max = arr[i][j];
maxid = i;
}
if(arr[i][j]<min){
min = arr[i][j];
minid = i;
}
}
}
int lastmax = maxid;
//cout<<maxid<<" "<<minid<<"\n";
for(int i=0;i<n;i++){
if(i == maxid){
continue;
}
for(int j=0;j<n;j++){
if(arr[i][j]-b <min){
min = arr[i][j]-b;
minid = i;
}
if(arr[i][j]+b >max){
max = arr[i][j];
maxid = i;
}
}
}
if(minid != maxid){
max = max +b;
}
if(lastmax != maxid){
min = min-b;
}
if(minid == maxid){
cout<<max-min;
return 0;
}
//cout<<min<<" "<<max<<"\n";
cout<<max-min;
return 0;
}