fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int const N=2002;
  4. int tab[N][N],spi[N],spj[N];
  5.  
  6. int main(){
  7. ios_base::sync_with_stdio(0);
  8. cin.tie(0);
  9. int n,m,zm;
  10. cin>>n>>m;
  11. for(int i=2;i<=n+1;i++) {
  12. cin>>tab[i][0];
  13. spi[i]=spi[i-1]+tab[i][0];
  14. }
  15. for(int i=2;i<=m+1;i++) {
  16. cin>>tab[0][i];
  17. spj[i]=spj[i-1]+tab[0][i];
  18. }
  19. for(int i=1;i<=n+1;i++){
  20. for(int j=1;j<=m+1;j++){
  21. if(j==1) tab[i][j]=spi[i-1]-tab[i-1][1]+tab[i][0];
  22. else if(i==1) tab[i][j]=spj[j-1]-tab[1][j-1]+tab[0][j];
  23. else tab[i][j]=max(spi[i]+spj[j-1]-tab[i][j-1]+tab[0][j],spi[i-1]+spj[j]-tab[i-1][j]+tab[i][0]);
  24. }
  25. }
  26. /*for(int i=0;i<=n+1;i++){
  27.   for(int j=0;j<=m+1;j++){
  28. cout<<tab[i][j]<<' ';
  29.   }cout<<endl;
  30.   }*/
  31. cout<<tab[n+1][m+1]<<' ';
  32. }
Success #stdin #stdout 0s 5272KB
stdin
3 3
2 7 -5
10 -2 -3
stdout
2