horoyoisawaのゴミ箱

いろいろ書きます

AtCoder Beginner Contest 100 D - Patisserie ABC 誤答コード

問題

atcoder.jp

誤答コード

#include <bits/stdc++.h>
#define chmax(x, y) x = max(x, y);
using namespace std;
using P = pair<int, int>;
bool c1 (vector<long long> &a, vector<long long> &b) {
  return a[0] > b[0];
}
bool c2 (vector<long long> &a, vector<long long> &b) {
  return a[0] < b[0];
}
bool c3 (vector<long long> &a, vector<long long> &b) {
  return a[1] > b[0];
}
bool c4 (vector<long long> &a, vector<long long> &b) {
  return a[1] < b[1];
}
bool c5 (vector<long long> &a, vector<long long> &b) {
  return a[2] > b[2];
}
bool c6 (vector<long long> &a, vector<long long> &b) {
  return a[2] < b[2];
}
int main() {
  int n, m;
  cin >> n >> m;
  vector<vector<long long>> in(n, vector<long long>(3)), v1, v2, v3, v4, v5, v6;
  for(int i=0;i<n;i++) for(int j=0;j<3;j++) cin >> in[i][j];
  v1.assign(in.begin(), in.end());
  v2.assign(in.begin(), in.end());
  v3.assign(in.begin(), in.end());
  v4.assign(in.begin(), in.end());
  v5.assign(in.begin(), in.end());
  v6.assign(in.begin(), in.end());
  sort(v1.begin(), v1.end(), c1);
  sort(v2.begin(), v2.end(), c2);
  sort(v3.begin(), v3.end(), c3);
  sort(v4.begin(), v4.end(), c4);
  sort(v5.begin(), v5.end(), c5);
  sort(v6.begin(), v6.end(), c6);
  vector<vector<vector<long long>> *> vec(6);
  vec[0] = &v1;
  vec[1] = &v2;
  vec[2] = &v3;
  vec[3] = &v4;
  vec[4] = &v5;
  vec[5] = &v6;
  vector<vector<long long>> ans(6, vector<long long>(3));
  for(int i=0;i<m;i++) {
    for(int j=0;j<6;j++) {
      for(int k=0;k<3;k++) {
        ans[j][k] += (*vec[j])[i][k];
      }
    }
  }
  long long result = -1;
  for(int i=0;i<6;i++) {
    chmax(result, abs(ans[i][0]) + abs(ans[i][1]) + abs(ans[i][2]));
  }
  cout << result << endl;
  return 0;
}

提出結果

f:id:horoyoisawa:20200412091024p:plain

Runtime Errorが多い

どっかでオーバーフローしているか、範囲外アクセスしているか。