코딩테스트

[C++] 절단 대각선 (Broken Diagonal)

뇨롱 2021. 6. 29. 11:15

숙제 2 (절단 대각선)

#include<iostream>
#include<algorithm>
#include<cstdlib>
using namespace std;


int main(){

	int n=0x00;
	cin>>n;
	int **arr;
	int *sum=new int[2*n];
	arr=new int *[n];
	for(int i=0;i<n;i++){
		arr[i]=new int[n];
		for(int j=0;j<n;j++) cin>>arr[i][j];
		
	}
	for(int i=0;i<2*n;i++) sum[i]=0;

	for(int s=0;s<n;s++){
		for(int j=0;j<n;j++) sum[s]+=arr[(s+j)%n][j];
		
	}
	for(int s=0;s<n;s++){
		for(int j=n-1;j>=0;j--) sum[s+n]+=arr[(s+n-1-j)%n][j];

	}

	cout<<*max_element(sum,sum+2*n)<<endl;
	return 0;
}