fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4.  
  5. void solve() {
  6. int n,m;
  7. cin>>n>>m;
  8. vector<vector<int>>v(n,vector<int> (m,0));
  9. for(int i=0;i<n;i++){
  10. for(int j=0;j<m;j++){
  11. cin>>v[i][j];
  12. }
  13. }
  14. vector<vector<int>> v1(m,vector<int>(n,0));
  15. for(int i=0;i<n;i++){
  16. for(int j=0;j<m;j++){
  17. v1[j][i]=v[i][j];
  18. }
  19. }
  20.  
  21. for(int i=0;i<m;i++){
  22. sort(v1[i].begin(),v1[i].end(),greater<int>());
  23. for(int j=0;j<n;j++){
  24. v[j][i]=v1[i][j];
  25. }
  26. }
  27. vector<vector<int>> ps(n,vector<int>(m,0));
  28. for(int i=0;i<m;i++){
  29. ps[n-1][i]=v[n-1][i];
  30. }
  31. for(int i=n-2;i>=0;i--){
  32. for(int j=0;j<m;j++){
  33. ps[i][j]=ps[i+1][j]+v[i][j];
  34. }
  35. }
  36. int ans=0;
  37. for(int i=0;i<n-1;i++){
  38. for(int j=0;j<m;j++){
  39. ans+=((v[i][j]*(n-i-1))-ps[i+1][j]);
  40. }
  41. }
  42. cout<<ans<<endl;
  43.  
  44. }
  45.  
  46. signed main() {
  47. int t;
  48. cin >> t;
  49. while (t--) {
  50. solve();
  51. }
  52. return 0;
  53. }
  54.  
Success #stdin #stdout 0.01s 5268KB
stdin
3
3 5
1 4 2 8 5
7 9 2 1 4
3 8 5 3 1
1 4
4 15 1 10
4 3
1 2 3
3 2 1
1 2 1
4 2 7
stdout
50
0
31