| 提出番号 | 2174 |
|---|---|
| 提出者 | kim |
| 言語 | C++ |
| 提出日時 | 2018-08-23 13:46:57 |
| 問題名 | (70)アルゴリズムのお勉強 |
| 結果 | WA |
| 点数 | 0% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | WA | 0% | 2ms | 8400KB |
| 2 | WA | 0% | 2ms | 8144KB |
| 3 | WA | 0% | 2ms | 7792KB |
| 4 | WA | 0% | 2ms | 7248KB |
| 5 | AC | 100% | 2ms | 8416KB |
| 6 | WA | 0% | 2ms | 8448KB |
| 7 | AC | 100% | 2ms | 8432KB |
| 8 | AC | 100% | 2ms | 8000KB |
| 9 | WA | 0% | 2ms | 8192KB |
| 10 | WA | 0% | 2ms | 7520KB |
| 11 | WA | 0% | 2ms | 7776KB |
| 12 | WA | 0% | 2ms | 8144KB |
| 13 | WA | 0% | 2ms | 8080KB |
| 14 | WA | 0% | 2ms | 8192KB |
| 15 | WA | 0% | 2ms | 7248KB |
| 16 | WA | 0% | 2ms | 8176KB |
| 17 | AC | 100% | 2ms | 8736KB |
| 18 | WA | 0% | 2ms | 8400KB |
| 19 | WA | 0% | 2ms | 8432KB |
| 20 | WA | 0% | 2ms | 7536KB |
| 21 | AC | 100% | 2ms | 7776KB |
| 22 | WA | 0% | 2ms | 8448KB |
| 23 | WA | 0% | 2ms | 7648KB |
| 24 | WA | 0% | 2ms | 7632KB |
| 25 | WA | 0% | 2ms | 8448KB |
| 26 | WA | 0% | 2ms | 7536KB |
| 27 | WA | 0% | 2ms | 7920KB |
| 28 | WA | 0% | 2ms | 7968KB |
| 29 | WA | 0% | 2ms | 8384KB |
| 30 | WA | 0% | 2ms | 8416KB |
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef pair<int,int> P;
#define INF (100000000)
int main() {
int N;
cin >> N;
vector<int> A[N];
vector<int> H(N,0);
vector<int> W(N,0);
vector<P> D(N);
int ans=0;
for(int i=0; i<N; ++i) {
int temp;
cin >> temp;
ans+=temp;
}
for(int i=0; i<N; ++i) {
A[i].resize(N);
for(int j=0; j<N; ++j) {
cin >> A[i][j];
W[i]+=A[i][j];
H[j]+=A[i][j];
}
}
for(int i=0; i<N; ++i) {
for(int j=0; j<N; ++j) {
D[j]=make_pair(W[j]-H[j],j);
}
sort(D.rbegin(),D.rend());
int tidx=D[0].second;
ans-=W[tidx];
H[tidx]=INF;
for(int c=0; c<N; ++c) {
W[c]-=A[c][tidx];
H[c]-=A[tidx][c];
}
}
cout << ans << endl;
return 0;
}