fork download
  1. /*author ADITYA BANSAL
  2.   MNNIT ALLAHABAD */
  3. #include<bits/stdc++.h>
  4. //#include <boost/multiprecision/cpp_int.hpp>
  5. //using namespace boost::multiprecision;
  6. using namespace std;
  7.  
  8. #define watch(x) cerr<<(#x)<<"is"<<x<<nl;
  9. #define ll long long
  10. #define mod 1000000007
  11. #define fast ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  12. #define fi(a,b) for(ll i=a; i<b; i++)
  13. #define fk(a,b) for(ll k=a; k<b; k++)
  14. #define fri(a,b) for(ll i=a; i>b; i--)
  15. #define fj(a,b) for(ll j=a; j<b; j++)
  16. #define ffi(a,b) for(ll i=a;i*i<=b;i++)
  17. #define mp make_pair
  18. #define ff first
  19. #define all(v) (v).begin(),(v).end()
  20. #define ss second
  21. #define pb push_back
  22. #define mem(v) memset((v),0,sizeof(v));
  23. #define pll pair<ll,ll>
  24. #define mll map<ll,ll>
  25. #define sll set<ll>
  26. #define vll vector<ll>
  27. #define max3(a,b,c) max(a,max(b,c))
  28. #define min3(a,b,c) min(a,min(b,c))
  29. #define md(a,b) ((a%mod)*(b%mod)+mod)%mod
  30. #define ad(a,b) (a%mod+b%mod+mod)%mod
  31. #define pob pop_back
  32. #define nl endl
  33. const ll N=416278LL;
  34. ll prime[N+5];
  35. vector<ll> primes;
  36.  
  37. /*------------------------<<SEIVE>>-----------------------------*/
  38. void seive(){ prime[1]=prime[0]=1;
  39. for(ll i=2;i*i<=N;i++)
  40. {
  41. if(!prime[i])
  42. {
  43. for(ll j=i*i;j<=N;j+=i)
  44. prime[j]=1;
  45. }
  46. }
  47. // primes.pb(0);
  48. for(ll i=2;i<N;i++){
  49.  
  50. if(!prime[i])
  51. primes.push_back(i);
  52. }
  53.  
  54. }
  55.  
  56. /*-------------<<BINARY EXPONENTIATION>>--------------------*/
  57. ll power(ll a,ll n){
  58. ll res=1;
  59. while(n){
  60. if(n&1) res= md(res,a);
  61. n>>=1;
  62. a= md(a,a);
  63. }
  64. return res;
  65. }
  66.  
  67. signed main(){// fast //seive();
  68.  
  69. ll n,m;
  70. cin>>n>>m;
  71. ll dp[n][m],a[n][m];
  72. mem(dp)
  73. fi(0,n)fj(0,m)cin>>a[i][j];
  74. ll ss=0;
  75. fi(0,m){ss+=a[0][i];
  76. dp[0][i]=ss;
  77. }ss=0;
  78. fi(0,n){ss+=a[i][0];
  79. dp[i][0]=ss;
  80. }
  81. fi(1,n){
  82. fj(1,m) dp[i][j]=dp[i-1][j]+dp[i][j-1]+a[i][j]-dp[i-1][j-1];
  83. }
  84. fi(0,n) {fj(0,m)cout<<dp[i][j]<<" "; cout<<nl;}
  85.  
  86.  
  87.  
  88. return 0;
  89. }
Success #stdin #stdout 0s 18488KB
stdin
3 3
1 2 3
4 5 6
7 8 9
stdout
1 3 6 
5 12 21 
12 27 45