結果
| 問題 | 
                            No.1060 素敵な宝箱
                             | 
                    
| コンテスト | |
| ユーザー | 
                             soto800
                         | 
                    
| 提出日時 | 2020-05-23 12:18:23 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 17 ms / 2,000 ms | 
| コード長 | 1,410 bytes | 
| コンパイル時間 | 1,887 ms | 
| コンパイル使用メモリ | 176,116 KB | 
| 実行使用メモリ | 6,824 KB | 
| 最終ジャッジ日時 | 2024-10-07 18:43:23 | 
| 合計ジャッジ時間 | 3,007 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 24 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
 
#define lli long long int
#define REP(i,s,n) for(int i=s;i<n;i++)
#define NUM 2520
#define INF (1LL<<50)
#define DEBUG 0
#define mp(a,b) make_pair(a,b)
#define SORT(V) sort(V.begin(),V.end())
#define PI (3.141592653589794)
#define TO_STRING(VariableName) # VariableName
#define LOG(x) if(DEBUG)cout<<TO_STRING(x)<<"="<<x<<" "<<endl;
#define LOG2(x,y) if(DEBUG)cout<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<endl;
#define LOG3(x,y,z) if(DEBUG)cout<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<" "<<TO_STRING(z)<<"="<<z<<endl;
#define LOG4(w,x,y,z) if(DEBUG)cout<<TO_STRING(w)<<"="<<w<<" "<<TO_STRING(x)<<"="<<x<<" "<<TO_STRING(y)<<"="<<y<<" "<<TO_STRING(z)<<"="<<z<<endl;
 
template<class T>bool chmax(T & a, const T & b) { if (a < b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T& a, const T& b) { if (b < a) { a = b; return 1; } return 0; }
lli a[400][400];
lli sumC[400];
lli sumA[2][400];
lli cnt[400];
bool useFlag[400];
vector<lli> ans;
lli sumAB[2];
int main(){
    lli n,m;
    cin>>n>>m;
    ans.resize(n,0LL);
    REP(i,0,n)REP(j,0,m){
        cin>>a[i][j];
        sumC[j] += a[i][j];
    }
    REP(i,0,n)REP(j,0,m){
        a[i][j] *= (2*sumC[j]);
        ans[i]+= a[i][j];
    }
    sort(ans.rbegin(),ans.rend());
    REP(i,0,n)sumAB[i%2]+=ans[i];
    cout<<abs(sumAB[0]-sumAB[1])/2<<endl;
    return 0;
}
            
            
            
        
            
soto800