51.영지선택 (large)

강지훈·2021년 12월 6일
0

#include
#include
using namespace std;

int a[701][701], dy[701][701]; //0행0열 은 0으로 만들기위해 전역변수
int main() {

int h,w,n,m,i,j,tmp,max=-2147000000;
cin>>h>>w;
for(i=1;i<=h;i++){
	for(j=1;j<=w;j++){
		dy[i][j]=dy[i-1][j]+dy[i][j-1]-dy[i-1][j-1]+a[i][j];
	}
}

cin>>n>>m;
for(i=n;i<=h;i++){
	for(j=m;j<=w;j++){
		tmp=dy[i][j]-dy[i-n][j]-dy[i][j-m]+dy[i-n][j-m];
		if(tmp>max) max=tmp;
	}
}

cout<<max;
return 0;	 

}

//언뜻 언뜻 이해가 가지만 어렵다... dy2차원배열 세팅하는건 이해가 되는데
tmp 구하는것이 완벽하게 이해가 되진 않는다.

profile
never stop

0개의 댓글