QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#210641#7051. Largest Common SubmatrixyangqbCompile Error//C++201.7kb2023-10-11 17:59:032023-10-11 17:59:04

Judging History

你现在查看的是最新测评结果

  • [2023-10-11 17:59:04]
  • 评测
  • [2023-10-11 17:59:03]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

//#define int long long
#define endl '\n'
const int N=1e6+5, mod=998244353;

int a[1005][1005], b[1005][1005];
int ra[N], rb[N];
int ca[N], cb[N];
int d[1005][1005];

void solve(){
    int n, m;
    read(n), read(m);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            read(a[i][j]);
            ra[a[i][j]] = i;
            ca[a[i][j]] = j;
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            read(b[i][j]);
            rb[b[i][j]] = i;
            cb[b[i][j]] = j;
        }
    }
    int ans = 1;
    for(int i=1;i<=n;i++){
        //vector<int> d(m+1);
        for(int j=1;j<=m;j++){
            if(d[i][j]) continue;
            int k = i;
            while(k<n&&cb[a[k][j]]==cb[a[k+1][j]]&&rb[a[k][j]]+1==rb[a[k+1][j]]) k++;
            for(int l=i;l<=k;l++){
                d[l][j] = k-l+1;
            }
        }
        for(int j=1;j<=m;j++){
            int k = j, mx = a[i][j];
            while(k<m&&rb[a[i][k]]==rb[a[i][k+1]]&&cb[a[i][k]]+1==cb[a[i][k+1]]) k++, mx = max(mx,a[i][k]);
            if((k-j+1)*mx<=ans){
                j = k;
                continue;
            }
            for(int l=j;l<=k;l++){
                int mi = d[i][l];
                ans = max(ans,d[i][l]);
                for(int r=l;r<=k;r++){
                    mi = min(mi,d[i][r]);
                    ans = max(ans,mi*(r-l+1));
                }
            }
            j = k;
        }
    }
    printf("%d\n",ans);
}

int main(){
    // ios::sync_with_stdio(0);
    // cin.tie(0), cout.tie(0);

    // int T;
    // cin>>T;
    // while(T--)
    solve();
}

詳細信息

answer.code: In function ‘void solve()’:
answer.code:15:9: error: too few arguments to function ‘ssize_t read(int, void*, size_t)’
   15 |     read(n), read(m);
      |     ~~~~^~~
In file included from /usr/include/unistd.h:1166,
                 from /usr/include/c++/11/bits/atomic_wait.h:44,
                 from /usr/include/c++/11/bits/atomic_base.h:41,
                 from /usr/include/c++/11/bits/shared_ptr_atomic.h:33,
                 from /usr/include/c++/11/memory:78,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from answer.code:1:
/usr/include/x86_64-linux-gnu/bits/unistd.h:34:1: note: declared here
   34 | read (int __fd, void *__buf, size_t __nbytes)
      | ^~~~
answer.code:15:18: error: too few arguments to function ‘ssize_t read(int, void*, size_t)’
   15 |     read(n), read(m);
      |              ~~~~^~~
In file included from /usr/include/unistd.h:1166,
                 from /usr/include/c++/11/bits/atomic_wait.h:44,
                 from /usr/include/c++/11/bits/atomic_base.h:41,
                 from /usr/include/c++/11/bits/shared_ptr_atomic.h:33,
                 from /usr/include/c++/11/memory:78,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from answer.code:1:
/usr/include/x86_64-linux-gnu/bits/unistd.h:34:1: note: declared here
   34 | read (int __fd, void *__buf, size_t __nbytes)
      | ^~~~
answer.code:18:17: error: too few arguments to function ‘ssize_t read(int, void*, size_t)’
   18 |             read(a[i][j]);
      |             ~~~~^~~~~~~~~
In file included from /usr/include/unistd.h:1166,
                 from /usr/include/c++/11/bits/atomic_wait.h:44,
                 from /usr/include/c++/11/bits/atomic_base.h:41,
                 from /usr/include/c++/11/bits/shared_ptr_atomic.h:33,
                 from /usr/include/c++/11/memory:78,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from answer.code:1:
/usr/include/x86_64-linux-gnu/bits/unistd.h:34:1: note: declared here
   34 | read (int __fd, void *__buf, size_t __nbytes)
      | ^~~~
answer.code:25:17: error: too few arguments to function ‘ssize_t read(int, void*, size_t)’
   25 |             read(b[i][j]);
      |             ~~~~^~~~~~~~~
In file included from /usr/include/unistd.h:1166,
                 from /usr/include/c++/11/bits/atomic_wait.h:44,
                 from /usr/include/c++/11/bits/atomic_base.h:41,
                 from /usr/include/c++/11/bits/shared_ptr_atomic.h:33,
                 from /usr/include/c++/11/memory:78,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82,
                 from answer.code:1:
/usr/include/x86_64-linux-gnu/bits/unistd.h:34:1: note: declared here
   34 | read (int __fd, void *__buf, size_t __nbytes)
      | ^~~~