QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#605095#6658. 던전MatutinoCompile Error//C++172.1kb2024-10-02 15:28:292024-10-02 15:28:32

Judging History

This is a historical verdict posted at 2024-10-02 15:28:32.

  • [2024-12-19 20:35:17]
  • 管理员手动重测本题所有提交记录
  • Verdict: 55
  • Time: 50ms
  • Memory: 31180kb
  • [2024-10-02 15:28:32]
  • Judged
  • [2024-10-02 15:28:29]
  • Submitted

answer

#include<bits/stdc++.h>
#define reg register
// #define int long long
inline int max(reg int x,reg int y){return x>y?x:y;}
inline int cmax(reg int &x,reg int y){return x<y?x=y,1:0;}
const int N=1010,INF=2e9;
int n,f1[N][N],f2[N][N],f3[N][N],f4[N][N],a[N][N],s1[N][N],s2[N][N];
int max_item_sum (std::vector<std::vector<int>> V) {
	n=V.size(); for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) a[i][j]=V[i-1][j-1];
	for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) s1[i][j]=s1[i-1][j]+a[i][j];
	for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) s2[i][j]=s2[i][j-1]+a[i][j];
	memset(f1,-0x3f,sizeof(f1)),memset(f2,-0x3f,sizeof(f2));
	memset(f3,-0x3f,sizeof(f3)),memset(f4,-0x3f,sizeof(f4));
	for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) 
		if (i!=1||j!=1) f1[i][j]=max(i-1?f1[i-1][j]:-INF,j-1?f1[i][j-1]:-INF)+a[i][j]; else f1[i][j]=a[i][j];
	for (reg int i=1;i<=n;i++) for (reg int j=n;j;j--) 
		if (i!=1||j!=n) f3[i][j]=max(i-1?f3[i-1][j]:-INF,j<n?f3[i][j+1]:-INF)+a[i][j]; else f3[i][j]=a[i][j];
	for (reg int i=n;i;i--) for (reg int j=1;j<=n;j++) 
		if (i!=n||j!=1) f2[i][j]=max(i<n?f2[i+1][j]:-INF,j-1?f2[i][j-1]:-INF)+a[i][j]; else f2[i][j]=a[i][j];
	for (reg int i=n;i;i--) for (reg int j=n;j;j--) 
		if (i!=n||j!=n) f4[i][j]=max(i<n?f4[i+1][j]:-INF,j<n?f4[i][j+1]:-INF)+a[i][j]; else f4[i][j]=a[i][j];
	reg int ans=-INF;
	for (reg int i=2;i<n;i++) for (reg int j=2;j<n;j++) 
		cmax(ans,f1[i][j-1]+f3[i-1][j]+f2[i+1][j]+f4[i][j+1]+a[i][j]),
		cmax(ans,f1[i-1][j]+f3[i][j+1]+f2[i][j-1]+f4[i+1][j]+a[i][j]);
	// return ans;
	for (reg int j=1;j<=n;j++){
		for (reg int x=1;x<=n;x++) for (reg int y=x+1;y<=n;y++){
			reg int L=max(f1[x][j]+f3[x][j+1],f1[x][j-1]+f3[x][j]);
			reg int R=max(f2[y][j]+f4[y][j+1],f2[y][j-1]+f4[y][j]);
			cmax(ans,L+R+s1[y-1][j]-s1[x][j]);
		}
	}
	// return ans;
	for (reg int i=1;i<=n;i++){
		for (reg int x=1;x<=n;x++) for (reg int y=x+1;y<=n;y++){
			reg int L=max(f1[i][x]+f2[i+1][x],f1[i-1][x]+f2[i][x]);
			reg int R=max(f3[i][y]+f4[i+1][y],f3[i-1][y]+f4[i][y]);
			cmax(ans,L+R+s2[i][y-1]-s2[i][x]);
		}
	}
	return ans;
}

Details

answer.code:4:24: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    4 | inline int max(reg int x,reg int y){return x>y?x:y;}
      |                        ^
answer.code:4:34: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    4 | inline int max(reg int x,reg int y){return x>y?x:y;}
      |                                  ^
answer.code:5:26: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    5 | inline int cmax(reg int &x,reg int y){return x<y?x=y,1:0;}
      |                          ^
answer.code:5:36: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    5 | inline int cmax(reg int &x,reg int y){return x<y?x=y,1:0;}
      |                                    ^
answer.code: In function ‘int max_item_sum(std::vector<std::vector<int> >)’:
answer.code:9:34: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    9 |         n=V.size(); for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) a[i][j]=V[i-1][j-1];
      |                                  ^
answer.code:9:61: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
    9 |         n=V.size(); for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) a[i][j]=V[i-1][j-1];
      |                                                             ^
answer.code:10:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   10 |         for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) s1[i][j]=s1[i-1][j]+a[i][j];
      |                      ^
answer.code:10:49: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   10 |         for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) s1[i][j]=s1[i-1][j]+a[i][j];
      |                                                 ^
answer.code:11:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   11 |         for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) s2[i][j]=s2[i][j-1]+a[i][j];
      |                      ^
answer.code:11:49: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   11 |         for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++) s2[i][j]=s2[i][j-1]+a[i][j];
      |                                                 ^
answer.code:14:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   14 |         for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++)
      |                      ^
answer.code:14:49: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   14 |         for (reg int i=1;i<=n;i++) for (reg int j=1;j<=n;j++)
      |                                                 ^
answer.code:16:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   16 |         for (reg int i=1;i<=n;i++) for (reg int j=n;j;j--)
      |                      ^
answer.code:16:49: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   16 |         for (reg int i=1;i<=n;i++) for (reg int j=n;j;j--)
      |                                                 ^
answer.code:18:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   18 |         for (reg int i=n;i;i--) for (reg int j=1;j<=n;j++)
      |                      ^
answer.code:18:46: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   18 |         for (reg int i=n;i;i--) for (reg int j=1;j<=n;j++)
      |                                              ^
answer.code:20:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   20 |         for (reg int i=n;i;i--) for (reg int j=n;j;j--)
      |                      ^
answer.code:20:46: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   20 |         for (reg int i=n;i;i--) for (reg int j=n;j;j--)
      |                                              ^
answer.code:22:17: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   22 |         reg int ans=-INF;
      |                 ^~~
answer.code:23:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   23 |         for (reg int i=2;i<n;i++) for (reg int j=2;j<n;j++)
      |                      ^
answer.code:23:48: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   23 |         for (reg int i=2;i<n;i++) for (reg int j=2;j<n;j++)
      |                                                ^
answer.code:27:22: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   27 |         for (reg int j=1;j<=n;j++){
      |                      ^
answer.code:28:30: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   28 |                 for (reg int x=1;x<=n;x++) for...